SOMMAIRE ►
Compter les personnes entrantes/sortantes dans une pièce sur Arduino est un projet simple et intéressant pour les débutants, qui ne prétend pas à un comptage très précis. La variante présentée permettra de déterminer le nombre de personnes présentes dans la pièce ainsi que le nombre de personnes entrées dans le magasin pendant toute la période de mesure avec la sortie de toutes les informations sur le port série de l’Arduino IDE et sur l’écran LCD 1602.
Ce dont vous aurez besoin
- Arduino Uno / Arduino Nano / Arduino Mega
- module LED Laser (KY-008)
- LDR sensor module (KY-018)
- écran LCD 1602 I2C
- LED et resistance, breadboard
- fils de connexion
- librairie LiquidCrystal_I2C.h
Matériel supplémentaire sur ce sujet:
Mesurer les entrées et sorties d’un magasin
En plus d’afficher sur l’écran LCD des informations sur le nombre de personnes présentes dans la salle ou qui sont venues pour toute la journée. Une LED est ajoutée au circuit, qui s’allume lorsque quelqu’un se trouve dans la pièce. Au lieu de la LED, on peut utiliser une bande de LED pour organiser l’éclairage de la pièce, qui peut être allumée depuis l’Arduino. Après avoir assemblé le circuit, chargez programme suivante sur la carte.
Construction d’un projet – compteur de passage laser

| LCD 1602 i2c | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| VCC | 5V | 5V | 5V |
| SDA | A4 | A4 | 20 |
| SCL | A5 | A5 | 21 |
Programme pour compteur de passage avec Arduino
#include "Wire.h" #include "LiquidCrystal_I2C.h" LiquidCrystal_I2C LCD(0x27, 20, 2); int x = 0; int y = 0; byte w = 0; void setup() { LCD.init(); LCD.backlight(); Serial.begin(9600); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(10, OUTPUT); pinMode(7, OUTPUT); digitalWrite(10, HIGH); } void loop() { LCD.setCursor(0, 0); LCD.print("People Now - "); LCD.print(x); LCD.setCursor(0, 1); LCD.print("People Total - "); LCD.print(y); Serial.print("People Now - "); Serial.println(x); Serial.print("People Total - "); Serial.println(y); delay(100); if (x >= 1) { digitalWrite(10, HIGH); } if (x < 1) { digitalWrite(10, LOW); } int TSOP1 = analogRead(A1); Serial.print("T1 - "); Serial.println(TSOP1); int TSOP2 = analogRead(A2); Serial.print("T2 - "); Serial.println(TSOP2); if (TSOP1 < 500) { w = 1; } if (TSOP2 < 500) { w = 2; } while (w == 1) { TSOP2 = analogRead(A2); Serial.print("T2 - "); Serial.println(TSOP2); if (TSOP2 < 500) { x = x + 1; y = y + 1; delay(2000); w = 0; } } while (w == 2) { int TSOP1 = analogRead(A1); Serial.print("T1 - "); Serial.println(TSOP1); if (TSOP1 < 500) { x = x - 1; if (x < 0) { x = 0; } delay(2000); w = 0; } } }
Explication du code pour compteur de passage Arduino:
- variable byte w; utilisée pour entrer/sortir des boucles while dans le programme;
- le programme peut fonctionner sans écran LCD 1602 I2C, toutes les informations nécessaires sont dupliquées sur le port série de l’Arduino IDE.
Conclusion. Ce projet vous permettra de savoir non seulement combien de visiteurs sont entrés, mais aussi combien sont sortis. Comme deux capteurs optiques avec LDR Arduino sont utilisés dans le projet, il est important de savoir dans quel ordre le faisceau laser est interrompu. Le compteur optique de visiteurs peut être placé à la porte ou au tourniquet de la salle (organisation) pour compter le nombre de visiteurs par jour, semaine ou mois.








Bonjour est il possible d’utiliser un capteur pour une porte d’entrée et l’autre capteur sur une porte de sortie
Oui, c’est possible. Si les gens n’entrent que par une porte et ne sortent que par l’autre. Il suffit de réécrire un peu le programme, ce sera beaucoup plus simple dans ce cas.
Merci pour la réponse je vais essayer de la modifier meme si je sais pas trop comment faire mais si cela est possible cela va etre plus simple pour moi.
Merci a vous
La logique du programme est très simple. Si le capteur de l’entrée est déclenché, ajoutez un à la variable. Si le capteur de sortie est déclenché, il faut soustraire un à la variable.
A titre d’exemple, vous pouvez voir le programme : https://arduino-france.site/bouton-poussoir/#6
Dans lequel le bouton gauche augmente la variable et le bouton droit la diminue. Les boucles while ne sont plus nécessaires dans le programme.
Bonjour, j’aimerais réaliser ce montage avec un seul module LED Laser (KY-008) et un seul LDR sensor module (KY-018) et comme je débute sur Arduino j’ai peur de faire des erreurs.
Merci d’avance
Cordialement
Bonjour. Vous ne sauriez pas quelles personnes entrent et lesquelles sortent. Vous auriez un simple système de signalisation comme celui-ci – https://arduino-france.site/module-diode-laser/