top of page

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:

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);

  }

  

}

25 views0 comments

Recent Posts

See All

Comments


bottom of page