– Nous allons ici créer un compteur de passage COVID-Like.
Ce compteur de passage permet de gérer le flux des personnes présentes dans un magasin. Nous devons donc définir un nombre maximum de clients.
– S’il y a moins de clients que la limite, nous autorisons les clients à entrer dans le magasin à l’aide d’une Led verte.
– S’il y a plus de clients que la limite, nous refusons l’entrée des clients dans le magasin, à l’aide d’une Led rouge.

Nous allons utiliser ici :
– Une carte Arduino
– Deux modules HC04
– Une LED Verte, Une Led Rouge

Un capteur est placé à l’entrée du magasin, et un autre capteur est placé à la sortie du magasin.
Dans le code suivant, nous détectons une personne lorsqu’elle passe à 50 cm du capteur.
Nous limitons le nombre de clients dans le magasin à 10 personnes.
Si le nombre de personnes est supérieur à 10, nous interdisons l’entrée dans le magasin par une Led Rouge. SI ce nombre est inférieur à 10, nous permettons l’entrée dans le magasin avec une Led Verte.
Si une personne est entrée, nous ajoutons 1 au compteur. Lorsqu’une personne est sortie, nous retirons 1 au compteur.
Câblage :

Code :
// Capteur HC04 - Entrée du magasin
int trig_c1 = 6;
int echo_c1 = 7;
float lecture_echo_c1;
float distance_c1;
// Capteur HC04 - Sortie du magason
int trig_c2 = 8;
int echo_c2 = 9;
float lecture_echo_c2;
float distance_c2;
// LEDs
int led_rouge = 11;
int led_verte = 12;
// Distance permettant de définir si une personne est entrée. Ici, 50cm.
int capture = 50;
// Initialisation de la variable permettant de compter
int compteur;
// Déterminer ici la limite du nombre de clients dans le magasin
int limite = 10;
void setup()
{
// Capteur HC04 - Entrée du magasin
pinMode(trig_c1, OUTPUT);
digitalWrite(trig_c1, LOW);
pinMode(echo_c1, INPUT);
// Capteur HC04 - Sortie du magasin
pinMode(trig_c2, OUTPUT);
digitalWrite(trig_c2, LOW);
pinMode(echo_c2, INPUT);
//Leds
pinMode(led_rouge, OUTPUT);
pinMode(led_verte, OUTPUT);
// Liaison Série
Serial.begin(9600);
}
void loop()
{
// Lecture de la distance sur le capteur à l'entrée du magasin
digitalWrite(trig_c1, HIGH);
delayMicroseconds(10);
digitalWrite(trig_c1, LOW);
lecture_echo_c1 = pulseIn(echo_c1, HIGH);
distance_c1 = lecture_echo_c1 / 58;
Serial.print("Distance - Capteur 1 : ");
Serial.println(distance_c1);
delay(100);
// Lecture de la distance sur le capteur à la sortie du magasin
digitalWrite(trig_c2, HIGH);
delayMicroseconds(10);
digitalWrite(trig_c2, LOW);
lecture_echo_c2 = pulseIn(echo_c2, HIGH);
distance_c2 = lecture_echo_c2 / 58;
Serial.print("Distance - Capteur 2 : ");
Serial.println(distance_c2);
delay(100);
Serial.println("");
// Si une personne est detectée à l'entrée du magasin
// Ici, la personne doit passer à moins de 50cm du capteur
if (distance_c1 < capture && distance_c2 > capture) {
// On ajoute 1 au compteur
compteur = compteur + 1;
}
// Si une personne est detectée à la sortie du magasin
// Ici, la personne doit passer à moins de 50cm du capteur
if (distance_c1 > capture && distance_c2 < capture) {
// On retire 1 au compteur
compteur = compteur - 1;
}
// Si le compteur est inférieur à la limite
// On autorise l'entrée
if (compteur < limite) {
digitalWrite(led_verte, 1);
digitalWrite(led_rouge, 0);
}
// Si le compteur est supérieur à la limite
// On refuse l'entrée
if (compteur > limite) {
digitalWrite(led_verte, 0);
digitalWrite(led_rouge, 1);
}
// Affichage de la variable du compteur
Serial.println("");
Serial.print("Compteur = ");
Serial.println(compteur);
Serial.println("");
}
Compteur de passage COVID
Il suffit ensuite d’ouvrir le moniteur série sur Arduino, et ainsi faire des tests de passage… et vérifier que les LEDs s’allument et/ou s’éteignent en fonction de votre limite.
8 comments