#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);// REMEMBER TO SCAN LCD ADDRESS PLEASE
#define dht_apin 8 // Analog Pin sensor is connected to
dht DHT;
const int light =9;
const int buzzer = 12;
const int fan = 7;
int irPin=6;
int exPin=10;
int count=0;
int excount=0;
int exstate=true;
boolean state = true;
int sound = 250;
void setup() {
pinMode(light, OUTPUT);
pinMode(buzzer, OUTPUT);
lcd (init);
lcd.backlight();
lcd.begin(16,2);
pinMode(irPin, INPUT);
pinMode(exPin, INPUT);
lcd.print("Counter activated");
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("People Inside");
}
void loop() {
if (!digitalRead(irPin) && state){
count++;
state = false;
lcd.setCursor(2,1);
lcd.print(count);
delay(100);
}
if (digitalRead(irPin)){
state = true;
delay(100);
}
if(count>=1){
digitalWrite(light, HIGH);
digitalWrite(fan, HIGH);
}
if (count>=6){
tone(buzzer, sound);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Number exceeded");
lcd.setCursor(0, 1);
lcd.print("Security alert!");
}
if(!digitalRead(exPin) && exstate){
count--;
exstate=false;
lcd.setCursor(2, 1);
lcd.print(count);
delay(100);
}
if (digitalRead(exPin)){
exstate = true;
}
if(count<=0){
digitalWrite(light, LOW);
digitalWrite(fan, LOW);
lcd.setCursor(0,0);
lcd.print("People Inside");
lcd.setCursor(0, 1);
}
if(count<0){
tone(buzzer, sound);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error:Intruder");
lcd.setCursor(0, 1);
lcd.print("Security alert!");
}
delay(200);
}
void checkTemp(){
int readData = DHT.read11(dht_apin);
int t = DHT.temperature; // Read temperature
Serial.print("Temperature = ");
Serial.print(t);
Serial.print("°C ");
delay(5000);
digitalWrite(fan, HIGH);
delay(15000);
digitalWrite(fan, LOW);
delay(15000);
}