#define irpin 2
#define pirpin 8
#define relaypin 4
boolean irValue = LOW;
boolean pirValue = LOW;
boolean ispersonnear = LOW;
boolean isoccupied = LOW;
void setup() {
Serial.begin(9600);
pinMode(irpin, INPUT);
pinMode(pirpin, INPUT);
pinMode(relaypin, OUTPUT);
digitalWrite(pirpin, LOW);
digitalWrite(relaypin, HIGH);
}
void loop() {
irValue = digitalRead(irpin);
pirValue = digitalRead(pirpin);
if (pirValue == HIGH) {
Serial.println("PIR Motion Detected");
ispersonnear = HIGH;
}
if (!irValue == HIGH) {
Serial.println("IR Detected ");
isoccupied = HIGH;
}
else{
isoccupied = LOW;
}
if(ispersonnear == HIGH && isoccupied == HIGH){
Serial.println("The Toilet is occupied");
}
if(isoccupied == LOW){
if(ispersonnear == HIGH){
Serial.println("Start Sanitization");
sanitize();
ispersonnear = LOW;
}
}
}
void sanitize(){
digitalWrite(relaypin, LOW);
delay(1000);
digitalWrite(relaypin, HIGH);
}