Search

Automatic Hand Wash Dispenser



Circuit:


ir_sensor = A0; relay = 2; relay1 = 3; buzzer = 12; LCD = 11; LiquidCrystal lcd (4, 5, 6, 7, 8, 9); // pins of the LCD. (RS, E, D4, D5, D6, D7)



Wire Connection:


Demo Video:


If anyone needs a Gerber file, can contact this kantirobot@gmail.com mail id.......



Code:


/* 2020

* IR SOAPY WASH Code by Kanti Sharma @roboticskanti

* Find building instructions on https://roboticskanti.com

*/

#include <LiquidCrystal.h>


int ir_sensor = A0;

int relay = 2;

int relay1 = 3;

int buzzer = 12;

int LCD = 11;

LiquidCrystal lcd (4, 5, 6, 7, 8, 9); // pins of the LCD. (RS, E, D4, D5, D6, D7)


void setup() {

lcd.begin(16, 2);

pinMode(relay, OUTPUT);

pinMode(relay1, OUTPUT);

pinMode(buzzer, OUTPUT);

pinMode(LCD, OUTPUT);

Serial.begin(9600);

}


void loop(){

int sensor_value = analogRead(ir_sensor); //read the sensor value

int distance_cm = pow(3027.4/sensor_value, 1.2134); //convert readings to distance(cm)

digitalWrite(LCD, LOW);

delay(500);


lcd.setCursor(0, 0);

lcd.print(" READY");

lcd.setCursor(0, 1);

lcd.print(" FOR HANDWASH");

if (distance_cm < 30)

{

digitalWrite(buzzer, HIGH);

delay(200);

digitalWrite(buzzer, LOW);

digitalWrite(relay1, HIGH);

digitalWrite(LCD, HIGH);


lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" WATER ON");

delay(4000);

lcd.clear();

digitalWrite(relay1, LOW);


lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" RUB HANDS");

lcd.setCursor(0, 1);

lcd.print(" FOR- 20 SECOND");

delay(20000);

lcd.clear();


digitalWrite(buzzer, HIGH);

delay(200);

digitalWrite(buzzer, LOW);

digitalWrite(relay1, HIGH);


lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" WASH WITH");

lcd.setCursor(0, 1);

lcd.print(" CLEAN WATER");

delay(10000);

lcd.clear();

digitalWrite(relay1, LOW);


digitalWrite(buzzer, HIGH);

delay(200);

digitalWrite(buzzer, LOW);

delay(1000);

digitalWrite(buzzer, HIGH);

delay(200);

digitalWrite(buzzer, LOW);


digitalWrite(relay, HIGH);


lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" DRY WITH");

lcd.setCursor(0, 1);

lcd.print(" YOUR HAND");

delay(10000);

lcd.clear();


digitalWrite(relay, LOW);

digitalWrite(buzzer, HIGH);

delay(50);

digitalWrite(buzzer, LOW);

delay(50);

digitalWrite(buzzer, HIGH);

delay(50);

digitalWrite(buzzer, LOW);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("REMOVE YOUR HAND");

delay(1000);


digitalWrite(buzzer, HIGH);


lcd.clear();

lcd.setCursor(0, 0);

lcd.print("HANDWASH COMPLED");

lcd.setCursor(0, 1);

lcd.print(" Thank you");

delay(5000);

lcd.clear();

}

else {

digitalWrite(relay1, LOW);

digitalWrite(relay, LOW);

digitalWrite(buzzer, LOW);

digitalWrite(LCD, LOW);

}

}


282 views0 comments