Bonjour,
J'ai inclus le code pour le détecteur Pir dans l'exemple de sortie de veille : "powerDownWakeExternalInterrupt", le réveil se fait quand il y a un mouvement, mais ça reste bloquer que je ne sais pas faire afficher dans le moniteur : "mouvement détecté".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 // **** COMPREND ***** #define IR_output 2 #include "LowPower.h" // Utiliser la broche 2 comme broche de réveil const int wakeUpPin = 2; void wakeUp() { // Juste un gestionnaire pour l'interruption de broche. } void setup(){ // Configurez la broche de réveil comme entrée. // Cela consommera quelques uA de courant. pinMode(wakeUpPin, INPUT); } void loop() { // Autorise la broche de réveil à déclencher une interruption sur faible. attachInterrupt(0, wakeUp, LOW); // Entrez dans l'état de mise hors tension avec les modules ADC et BOD désactivés. // Réveillez-vous lorsque la broche de réveil est faible. LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF); // Désactive l'interruption de la broche externe sur la broche de réveil. detachInterrupt(0); // Faites quelque chose ici // Exemple : lecture du capteur, enregistrement des données, transmission des données. // Importe Pir pinMode(IR_output,INPUT); Serial.begin(9600); if(digitalRead(IR_output)==LOW){ Serial.println("pas de mouvement detecte"); } if(digitalRead(IR_output)==HIGH){ Serial.println("mouvement detecte"); } delay(200); }
Partager