1
2
3
4
5#include <LiquidCrystal.h>
6LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
7
8int ir = 2;
9int Relay = 4;
10
11int red=5;
12int green=7;
13int white = 9;
14
15void setup(){
16Serial.begin(9600);
17lcd.begin(16, 2);
18pinMode(ir,INPUT);
19pinMode(Relay,OUTPUT);
20pinMode(red, OUTPUT);
21pinMode(green, OUTPUT);
22pinMode(white, OUTPUT);
23
24 lcd.setCursor(0,0);
25 lcd.print(" SOAP DISPENSER ");
26 lcd.setCursor(0,1);
27 lcd.print("with WASH timer ");
28 delay(5000);
29 lcd.clear();
30
31}
32void loop(){
33if(digitalRead(ir)== LOW){
34relay();
35wash();
36}
37else
38{
39if(digitalRead(ir)== HIGH)
40 {
41 lcd.setCursor(0,0);
42 lcd.print("Place your hand ");
43 lcd.setCursor(0,1);
44 lcd.print("infrnt of sensor");
45 delay(1000);
46 digitalWrite(green , HIGH);
47 digitalWrite(red , LOW);
48 digitalWrite(Relay , LOW);
49 digitalWrite(white, LOW);
50}
51}}
52
53void relay()
54{
55 digitalWrite(Relay , HIGH);
56}
57
58void wash ()
59{
60 lcd.setCursor(0,0);
61 lcd.print("Time left 10 sec");
62 lcd.setCursor(0,1);
63 lcd.print(" Rub your Hands ");
64 delay(1000);
65 digitalWrite(red , HIGH);
66 digitalWrite(green , LOW);
67 digitalWrite(white, HIGH);
68 digitalWrite(Relay , LOW);
69
70 lcd.setCursor(0,0);
71 lcd.print("Time left 09 sec");
72 lcd.setCursor(0,1);
73 lcd.print(" Rub your Hands ");
74 delay(1000);
75 digitalWrite(red , HIGH);
76 digitalWrite(green , LOW);
77 digitalWrite(Relay , LOW);
78 digitalWrite(white, HIGH);
79
80 lcd.setCursor(0,0);
81 lcd.print("Time left 08 sec");
82 lcd.setCursor(0,1);
83 lcd.print(" Rub your Hands ");
84 delay(1000);
85 digitalWrite(red , HIGH);
86 digitalWrite(green , LOW);
87 digitalWrite(Relay , LOW);
88 digitalWrite(white, HIGH);
89
90 lcd.setCursor(0,0);
91 lcd.print("Time left 07 sec");
92 lcd.setCursor(0,1);
93 lcd.print(" Rub your Hands ");
94 delay(1000);
95 digitalWrite(red , HIGH);
96 digitalWrite(green , LOW);
97 digitalWrite(Relay , LOW);
98 digitalWrite(white, HIGH);
99
100 lcd.setCursor(0,0);
101 lcd.print("Time left 06 sec");
102 lcd.setCursor(0,1);
103 lcd.print(" Rub your Hands ");
104 delay(1000);
105 digitalWrite(red , HIGH);
106 digitalWrite(green , LOW);
107 digitalWrite(Relay , LOW);
108 digitalWrite(white, HIGH);
109
110 lcd.setCursor(0,0);
111 lcd.print("Time left 05 sec");
112 lcd.setCursor(0,1);
113 lcd.print(" Rub your Hands ");
114 delay(1000);
115 digitalWrite(red , HIGH);
116 digitalWrite(green , LOW);
117 digitalWrite(Relay , LOW);
118 digitalWrite(white, HIGH);
119
120 lcd.setCursor(0,0);
121 lcd.print("Time left 04 sec");
122 lcd.setCursor(0,1);
123 lcd.print(" Rub your Hands ");
124 delay(1000);
125 digitalWrite(red , HIGH);
126 digitalWrite(green , LOW);
127 digitalWrite(Relay , LOW);
128 digitalWrite(white, HIGH);
129
130 lcd.setCursor(0,0);
131 lcd.print("Time left 03 sec");
132 lcd.setCursor(0,1);
133 lcd.print(" Rub your Hands ");
134 delay(1000);
135 digitalWrite(red , HIGH);
136 digitalWrite(green , LOW);
137 digitalWrite(Relay , LOW);
138 digitalWrite(white, HIGH);
139
140 lcd.setCursor(0,0);
141 lcd.print("Time left 02 sec");
142 lcd.setCursor(0,1);
143 lcd.print(" Rub your Hands ");
144 delay(1000);
145 digitalWrite(red , HIGH);
146 digitalWrite(green , LOW);
147 digitalWrite(Relay , LOW);
148 digitalWrite(white, HIGH);
149
150 lcd.setCursor(0,0);
151 lcd.print("Time left 01 sec");
152 lcd.setCursor(0,1);
153 lcd.print(" Rub your Hands ");
154 delay(1000);
155 digitalWrite(red , HIGH);
156 digitalWrite(green , LOW);
157 digitalWrite(Relay , LOW);
158 digitalWrite(white, HIGH);
159
160 lcd.setCursor(0,0);
161 lcd.print(" Now wash hands ");
162 lcd.setCursor(0,1);
163 lcd.print(" with water ");
164 delay(2000);
165 digitalWrite(red , HIGH);
166 digitalWrite(green , LOW);
167 digitalWrite(Relay , LOW);
168 digitalWrite(white, HIGH);
169}
170