Automatic Room Light Controller With Bidirectional Visitor Counter

by hIOTron IoT in Circuits > Arduino

15 Views, 0 Favorites, 0 Comments

Automatic Room Light Controller With Bidirectional Visitor Counter

Automatic room control.PNG

The project describes automatic room light controller with bidirectional visitor counter with the help of Arduino Uno

Supplies

Hardware Components

Arduino UNO

Relay 5V

IR Sensor module

16x2 Arduino LCD Display Module

Connecting Wires

BC547 Transistor

Software Components

Arduino IDE

About Project

This project's Digital visitor counter relies on communicating few components likewise sensors, motors, etc. with Arduino microcontroller. This counter can calculate people in both directions. This circuit can be utilized to calculate the number of a person going in a home/office in the entry gate and it can calculate the number of persons leaving the hall by decreasing the count at the same gate or exit gate and it relies upon sensor placement in the hall. It can also be utilized at gates of parking areas and more public places.

This project is distributed into four parts such as sensors, controller, counter display as well as the gate. The sensor notices an interruption and gives input to the controller which would drive the counter increment or decrement depending on entering or exiting of the person. And the respective counting is displayed on a 16x2 LCD via the controller. When any person enters the room, the IR sensor will get scattered by the object then another sensor will not operate due to we have added a delay.

IoT Course will help you to build Customized IoT Solutions.

Run a Program

#include LiquidCrystal lcd(13,12,11,10,9,8); #define in 14 #define out 19 #define relay 2 int count=0; void IN() { count++; lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); delay(1000); } void OUT() { count--; lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); delay(1000); } void setup() { lcd.begin(16,2); lcd.print("Visitor Counter"); delay(2000); pinMode(in, INPUT); pinMode(out, INPUT); pinMode(relay, OUTPUT); lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); } void loop() { if(digitalRead(in)) IN(); if(digitalRead(out)) OUT(); if(count<=0) { lcd.clear(); digitalWrite(relay, LOW); lcd.clear(); lcd.print("Nobody In Room"); lcd.setCursor(0,1); lcd.print("Light Is Off"); delay(200); } else digitalWrite(relay, HIGH); }