Il est assez simple de créer un compteur de passage afin d’enregistrer le nombre de personnes qui entre dans une pièce.
Nous pouvons utiliser un capteur ultrason HC-SR04. Lorsqu’une personne passera devant le capteur, celui-ci prendra la mesure de la distance entre lui et cette personne. Si la distance est inférieure à 10 cm, nous considérons qu’une personne a franchi la porte, et nous incrémentons ainsi le compteur.
Un interrupteur est branché à l’Arduino. Celui-ci permet de réinitialiser le compteur à 0. La LED permet d’indiquer qu’une personne a été détecté devant la porte.

// définition des broches et variables utilisées
int trig = 3;
int echo = 2;
int interrupteur = 7;
int led = 8;
int lecture_echo;
int distance;
int compteur = 0;
int a;
void setup()
{
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
pinMode(7, INPUT_PULLUP);
pinMode(8, OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
lecture_echo = pulseIn(echo, HIGH);
// La doc constructeur dit que si pn veut une distance en cm, il faut diviser l'echo par 58
distance = lecture_echo / 58;
// Il est possible d'afficher la distance en cm. Décommenter les lignes du dessous.
// Serial.print("Distance en cm : ");
// Serial.println(distance);
// Si l'interrupteur est à 1, le compteur se remet à 0
if (interrupteur = HIGH) {
compteur = 0;
}
else {
if (distance > 10) {
a = 0;
}
if (distance < 10 && a == 0) {
compteur = compteur + 1;
a = 1;
Serial.print("Compteur : ");
Serial.println(compteur);
}
if (distance < 10) {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
}
}
Compteur - HC-RS04
C’est très sympa ce site
c’est vraiment cool pour notre projet arduino
ce montage est trés bien réalisé il m’a beaucoup aidé merci
Bonjour,
Je ne suis pas un spécialiste Arduino, mais il ma semble qu’il manque la librairie #include ?
Cordialement.
Non, je n’utilise pas de librairie ici !