#include LiquidCrystal lcd(13,12,11,10,9,8); #define in 14 #define out 19 #define relay1 2 #define relay2 3 #define relay3 4 #define relay4 5 #define relay5 6 int count=0; int fan = 7; int fanSpeed=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("Student Counter"); delay(2000); pinMode(in, INPUT); pinMode(out, INPUT); pinMode(fan, OUTPUT); pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); pinMode(relay3, OUTPUT); pinMode(relay4, OUTPUT); pinMode(relay5, OUTPUT); lcd.clear(); lcd.print("Person In Room:"); lcd.setCursor(0,1); lcd.print(count); lcd.clear(); } void loop() { while(digitalRead(in) == LOW) { IN(); digitalRead(out) == 0; delay(600); break; } while(digitalRead(out) == LOW) { OUT(); digitalRead(in) == 0; delay(600); break; } if(count<=0) { lcd.clear(); digitalWrite(relay1, LOW); digitalWrite(relay2, LOW); digitalWrite(relay3, LOW); digitalWrite(relay4, LOW); digitalWrite(relay5, LOW); digitalWrite(fan, LOW); fanSpeed = 0; analogWrite(fan, fanSpeed); lcd.clear(); lcd.print("Nobody In Room"); lcd.setCursor(0,1); lcd.print("Light&Fan Is OFF"); delay(200); count = 0; } if(count >= 1 && count <= 4) { lcd.clear(); digitalWrite(relay1, HIGH); fanSpeed = 0.1; analogWrite(fan, fanSpeed); digitalWrite(fan, HIGH); lcd.clear(); lcd.print("Fan Speed 20%"); lcd.setCursor(0,1); lcd.print("R1 ON"); delay(200); } if(count >= 5 && count <= 8) { lcd.clear(); fanSpeed = 40; analogWrite(fan, fanSpeed); //digitalWrite(fan, HIGH); digitalWrite(relay1, HIGH); digitalWrite(relay2, HIGH); lcd.clear(); lcd.print("Fan Speed 40%"); lcd.setCursor(0,1); lcd.print("R1,R2 ON"); delay(200); } if(count >= 9 && count <= 12) { lcd.clear(); fanSpeed = 60; analogWrite(fan, fanSpeed); //digitalWrite(fan, HIGH); digitalWrite(relay1, HIGH); digitalWrite(relay2, HIGH); digitalWrite(relay3, HIGH); lcd.clear(); lcd.print("Fan Speed 60%"); lcd.setCursor(0,1); lcd.print("R1,R2,R3 ON"); delay(200); } if(count >= 13 && count <= 16) { lcd.clear(); fanSpeed = 80; analogWrite(fan, fanSpeed); //digitalWrite(fan, HIGH); digitalWrite(relay1, HIGH); digitalWrite(relay2, HIGH); digitalWrite(relay3, HIGH); digitalWrite(relay4, HIGH); lcd.clear(); lcd.print("Fan Speed 80%"); lcd.setCursor(0,1); lcd.print("R1,R2,R3,R4 ON"); delay(200); } if(count >= 17 && count <= 20) { lcd.clear(); fanSpeed = 100; analogWrite(fan, fanSpeed); digitalWrite(fan, HIGH); digitalWrite(relay1, HIGH); digitalWrite(relay2, HIGH); digitalWrite(relay3, HIGH); digitalWrite(relay4, HIGH); digitalWrite(relay5, HIGH); lcd.clear(); lcd.print("Fan Speed 100%"); lcd.setCursor(0,1); lcd.print("ALL ON"); delay(200); } else lcd.clear(); lcd.print("Class is FULL"); }