Compteur de personnes entrantes Arduino

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:

  1. Branchement capteur de lumière KY-018 Arduino
  2. Comment connecter LCD Arduino avec module i2c
  3. Jouet laser pour chat avec micro servo et Arduino

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

Mesurer les entrées et sorties d'un magasin
Mesurer les entrées et sorties d’un magasin
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:

  1. variable byte w; utilisée pour entrer/sortir des boucles while dans le programme;
  2. 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.





6 Replies to “Compteur de passage Arduino (compteur de personne)”

  1. Bonjour est il possible d’utiliser un capteur pour une porte d’entrée et l’autre capteur sur une porte de sortie

    1. 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.

      1. 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

        1. 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.

  2. 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

Laisser un commentaire

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. Découvrez comment les données de vos commentaires sont traitées.