Рубрики
Схемы на Arduino

Автоматический счетчик посетителей и контроль света в комнате на Arduino

В повседневной жизни мы часто можем видеть счетчики посетителей на стадионах, в торговых центрах, офисах, учебных классах и т.д. Каким образом они подсчитывают количество людей и выключают свет когда никого нет внутри? В этой статье мы рассмотрим устройство на Arduino Uno для автоматического контроля света в помещении с двунаправленным счетчиком количества посетителей.

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

  1. Плата Arduino Uno (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Инфракрасный датчик (купить на AliExpress).
  4. Реле (на 5 В) (купить на AliExpress).
  5. Транзистор BC547 (купить на AliExpress).
  6. Резисторы (купить на AliExpress).
  7. Светодиод (купить на AliExpress).
  8. Макетная плата.
  9. Соединительные провода.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Основные принципы работы устройства

Рассматриваемый нами проект цифрового счетчика посетителей основан на использовании таких компонентов как датчики, двигатели, плата Arduino Uno и т.д. Этот счетчик будет способен подсчитывать количество посетителей в двух (обоих) направлениях. То есть он будет увеличивать счетчик посетителей когда человек проходит в центр/офис/стадион через входные ворота и уменьшать счетчик посетителей когда человек выходит из центра/офиса/стадиона через выходные ворота. Кроме указанных применений подобный счетчик можно также использовать на автопарковках и других общественных местах.

Проект разделен на 4 части: датчики, контроллер, дисплей для отображения числа посетителей и ворота. Датчик будет обнаруживать проходящих людей и подавать соответствующий сигнал на контроллер, который будет увеличивать или уменьшать счетчик посетителей в зависимости от того, вошел человек или вышел. Затем контроллер выдает команду на ЖК дисплей отобразить текущее количество посетителей.

Принцип обнаружения человека инфракрасным датчиком основан на том, что проходящий человек прерывает поток света на некоторое время и это прерывание света обнаруживается приемным инфракрасным датчиком.

Работа схемы

Структурно рассматриваемое нами устройство состоит из 4-х модулей: модуль датчиков, модуль управления, модуль отображения и модуль реле.

В модуле датчиков, схема которого представлена на рисунке ниже, мы имеем два инфракрасных датчика с инфракрасными диодами, потенциометр, компаратор (на операционном усилителе) и светодиоды. Потенциометр предназначен для установки опорного напряжения компаратора (для регулировки чувствительности устройства). Инфракрасные датчики обнаруживают отсутствие или присутствие объекта (человека) в поле своего действия и выдают соответствующие сигналы на компаратор. Компаратор сравнивает два напряжения и обеспечивает соответствующий цифровой сигнал на своем выходе. В представленном устройстве мы использовали два компаратора (поскольку у нас два модуля инфракрасных датчиков), реализованных на микросхеме LM358.

Модуль управления построен на основе платы Arduino UNO, которая используется для управления всем устройством. Выходы компараторов подсоединены к цифровым контактам 14 и 19 Arduino. Плата Arduino считывает сигналы с этих цифровых контактов и на их основе выдает соответствующие управляющие сигналы на реле, которое управляет включением и выключением цепи электрической лампочки (bulb).

Модуль отображения состоит из ЖК дисплея 16×2, на котором будет отображаться число людей, находящихся в комнате и статус света (включен/выключен) когда никого нет в комнате.

Модуль реле состоит из транзистора BC547 и реле на 5 В, управляющим включением/выключением электрической лампочки. Транзистор необходим для управления реле поскольку плата Arduino не обеспечивает необходимые значения токов и напряжений для этого. Плата Arduino будет подавать управляющие команды на транзистор, а он с помощью реле будет включать и выключать электрическую лампочку.

Полная схема устройства представлена на следующем рисунке.

Выходы инфракрасных датчиков непосредственно подключены к цифровым контактам Arduino 14(A0) и 19(A5). База транзистора через резистор подключена к контакту 2 Arduino. ЖК дисплей подсоединен к Arduino в 4-битном режиме. Контакты RS и EN ЖК дисплея подключены к контактам 13 и 12 Arduino. Контакты данных ЖК дисплея D4-D7 подключены к контактам 11-8 Arduino.

Исходный код программы

В коде программы первым делом необходимо подключить библиотеку для работы с ЖК дисплеем и инициализировать необходимые контакты для работы.

#include<LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
#define in 14
#define out 19
#define relay 2

Затем необходимо указать направление работы для инициализированных контактов (на ввод или на вывод) и инициализировать ЖК дисплей для работы.

Далее в цикле программы мы считываем выходы датчиков и инкрементируем и декрементируем значение счетчика посетителей. Также мы проверяем на равенство нулю значение этого счетчика. Если он равен нулю, то это значит что в комнате никого нет – в этом случае мы выключаем свет в комнате (выключаем электрическую лампочку при помощи транзистора и реле).

Если же счетчик посетителей не равен нулю, то включаем свет. Также определим две функции: на вход и на выход посетителя.

Далее представлен полный текст программы.

Видео, демонстрирующее работу схемы

8 ответов к “Автоматический счетчик посетителей и контроль света в комнате на Arduino”

Этот ИК-датчик до 30 см работает. Получается, что в дверном проеме он не будет работать?

Ну у вас разве такие большие двери что у вас от плеча до проема больше 30 см остается когда вы через этот дверной проем проходите?

Как называются инфракрасные датчики в proteus и как добавить на жк дисплей 15,16 выходы(led+ и led-)?

К сожалению, сейчас нет proteus’а под рукой, поэтому не могу посмотреть как в нем называются инфракрасные датчики

Ок, у меня еще есть время, но пожалуйста посмотри как будет время и насчет дисплея ответь, буду благодарен!

Работу с подсветкой ЖК дисплея (его контакты 15 и 16) можете посмотреть на следующих сайтах
robotclass.ru/tutorials/arduino-lcd1602/?ysclid=le2mm75mh992425288
wiki.iarduino.ru/page/Working_with_character_LCD_displays?ysclid=le2mm2vwpz741094738
Не хочу дополнительно дублировать эту информацию у себя на сайте если она уже есть в сети

Слушай дай вк или другую соц.сеть, сделай схему не за бесплатно конечно(цену обговорим)

Я бы рад, но не могу сейчас, нет доступа к необходимым инструментам

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

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