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

3 commentaires

Rejoignez la conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.