Créer un compteur de passage avec un capteur ultrason HC-SR04 – Arduino

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

5 comments

comments user
azerty

C’est très sympa ce site

comments user
Olivier Chantoiseau

c’est vraiment cool pour notre projet arduino

comments user
Patoche

ce montage est trés bien réalisé il m’a beaucoup aidé merci

comments user
Le Guillou Yves

Bonjour,
Je ne suis pas un spécialiste Arduino, mais il ma semble qu’il manque la librairie #include ?
Cordialement.

    comments user
    mataucarre

    Non, je n’utilise pas de librairie ici !