Перейти к содержанию

Счетчик людей на Ардуино с дисплеем LCD 1602

Счетчик людей на Ардуино с дисплеем

Счётчик прохода людей на Ардуино — это простой и интересный проект для начинающих, который не претендует на очень точный подсчет. Представленный вариант будет определять количество людей, находящихся в помещении, а также количество людей или посетителей магазина в течение всего периода измерений с выводом всей информации на последовательный порт Arduino IDE и на жидкокристаллический дисплей 1602.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • дисплей LCD 1602 i2c
  • 2 лазерных светодиода
  • 2 датчика освещенности
  • светодиод и резистор
  • макетная плата
  • коннекторы
  • библиотека LiquidCrystal_I2C.h

Дополнительные материалы на эту тему:

  1. Подключение LCD 1602 i2c дисплея к Ардуино
  2. Подключение датчика освещенности к Ардуино
  3. Подключение ультразвукового датчика к Ардуино

Датчик прохода посетителей с дисплеем LCD 1602 позволит довольно точно узнать, сколько людей посетило ваш магазин. В проекте используются два датчика освещенности ky-018. Для алгоритма работы программы важно в каком порядке прерывается лазерный луч, от этого зависит понятие микроконтроллером входа или выхода посетителя. Счетчик может быть установлен в проеме входной двери офиса или магазина.

Счетчик людей в магазине на Ардуино с дисплеем

Счетчик людей в магазине на Ардуино с дисплеем

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

Помимо отображения на дисплее LCD 1602 информации о количестве людей в помещении или пришедших на весь день. В схему можно добавить светодиод, который будет включаться, когда кто-то находится в комнате. Вместо светодиода для освещения в комнате можно использовать LED ленту, которую можно включать от 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;
    }
  }
}

Заключение. Этот проект позволит вам узнать не только, сколько посетителей вошло, но и сколько вышло из помещения. Поскольку в проекте используются два оптических датчика Arduino LDR, важно знать, в каком порядке прерывается лазерный луч. Оптический счетчик посетителей может быть установлен на двери или турникете помещения (организации) для подсчета количества посетителей в день, неделю или месяц.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜