Bonjour,
Je suis un nouveau dans la programmation Arduino et ai donc besoin d'aide !
Je cherche à créer, à l'aide de détecteurs de mouvements IR, un compteur d'entrée-sortie qui donnerait le nombre de personnes qui se trouve dans une piece.
Pour ce faire, je place un capteur de chaque coté de la porte et regarde dans quel ordre ceux-ci vont s'allumer. (Si le premier s'allume puis le second, alors quelqu'un rentre dans cette piece (n=n+1). A l'inverse si le second s'active avant le premier, quelqu'un quitte la piece (n=n-1)
Il me faut donc une variable de temps me permettant donner une période de temps sur laquelle le deuxième capteur peut s'allumer signifiant le passage d'une personne dans la pièce ; si le deuxième capteur ne s'allume pas durant cette période de temps, alors la valeur de n ne change pas : personne n'est rentré dans la pièce.
Ci dessous le code que j'ai déjà écris. Ça serait chouette si vous pouviez m'aider à le faire marcher !!
Merci de votre aide !!
Cherlok avec un C
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 void setup() { int NombreDePersonne = 0; pinMode(A0, INPUT); pinMode(A1, INPUT); temps=millis(); } void loop() { if(digitalRead(A0) == HIGH){ t0=temps; //on cherche a donner à t0 la valeur du temps actuel while(temps<t0+500){ //ensuite, regarder la condition suivante pendant un certain intervalle de temps if(A1 == HIGH){ NombreDePersonne=NombreDePersonne+1; } } } if(digitalRead(A1) == HIGH){ t1=temps; //on cherche a donner à t1 la valeur du temps actuel while(temps<t1+500){ //ensuite, regarder la condition suivante pendant un certain intervalle de temps if(A0 == HIGH){ NombreDePersonne=NombreDePersonne-1; } } } if(N<=0){ N=0; digitalWrite(5 == LOW); } if(N>0){ digitalWrite(5 == HIGH); } }
Partager