You are on page 1of 5

#define RELAY1 9

#define RELAY2 10
const int button1 = 2;
const int button2 = 3;
const int M1 = 4;
const int M2 = 5;
const int s1 = 7;
const int s2 = 8;
int i[5]={15,29,44,58,73};
int a=0,b=0,c=0;
int f=0;//for timer setup

void setup()
{
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(M1, INPUT);
pinMode(M2, INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
Serial.begin(9600);
}

void loop()
{

while(digitalRead(s1)!=HIGH)// To close the drain if it is open


{
// Serial.println("c");
drain2();
}
digitalWrite(M2, LOW);
a=digitalRead(button1);
b=digitalRead(button2);
if(f==0)
{
three();
}
if(b==HIGH)
{
f++;
Serial.print("F");
Serial.println(f);
if(f==1){ six();}
if(f==2){ nine();}
if(f==3)
{
f=0;
}
}

if(a==HIGH)
{
if(f==0)
{
while(i[0]!=0)
{
Serial.println("3");
Wash();
i[0]--;
}delay(10000); while(digitalRead(s2)!=HIGH)
{
Serial.println("c");
drain();
}digitalWrite(M1, LOW);
for (int k=1;k<750;k++)
{
three();
delay(200);
segoff();
delay(200);
}three();
while(digitalRead(s1)!=HIGH)
{
Serial.println("c");
drain2();
}
digitalWrite(M2, LOW);buzzer();
}
if(f==1)
{
while(i[1]!=0)
{
Serial.println("6");
Wash();
i[1]--;
}delay(10000); while(digitalRead(s2)!=HIGH)
{
Serial.println("c");
drain();
}digitalWrite(M1, LOW);
for (int k=1;k<750;k++)
{
six();
delay(200);
segoff();
delay(200);
}six();
while(digitalRead(s1)!=HIGH)
{
Serial.println("c");
drain2();
}
digitalWrite(M2, LOW);buzzer();
}
if(f==2)
{
while(i[2]!=0)
{
Serial.println("9");
Wash();
i[2]--;
}delay(10000); while(digitalRead(s2)!=HIGH)
{
Serial.println("c");
drain();
}digitalWrite(M1, LOW);
for (int k=1;k<750;k++)
{
nine();
delay(200);
segoff();
delay(200);
}nine();
while(digitalRead(s1)!=HIGH)
{
Serial.println("c");
drain2();
}
digitalWrite(M2, LOW);buzzer();
}

delay(300);
}

void Wash()
{
digitalWrite(RELAY1,HIGH);
delay(3000);
digitalWrite(RELAY1,LOW);
delay(3000);
digitalWrite(RELAY2,HIGH);
delay(150);
digitalWrite(RELAY1,HIGH);
delay(3000);
digitalWrite(RELAY1,LOW);
delay(150);
digitalWrite(RELAY2,LOW);
delay(3000);
}
void drain() //drain open
{
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);

}
void drain2() //drain close
{
digitalWrite(M2, HIGH);
digitalWrite(M1, LOW);
}
void buzzer()
{
int j=1;
while(j<60)
{
digitalWrite(6, HIGH);
delay(200);
digitalWrite(6,LOW);
delay(200);
j++;
}
}
void three()
{
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
digitalWrite(14,LOW);
digitalWrite(15,HIGH);
digitalWrite(16,LOW);
digitalWrite(17,LOW);
digitalWrite(18,HIGH);
digitalWrite(19,LOW);
}
void segoff()
{
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
digitalWrite(14,HIGH);
digitalWrite(15,HIGH);
digitalWrite(16,HIGH);
digitalWrite(17,HIGH);
digitalWrite(18,HIGH);
digitalWrite(19,HIGH);
}
void six()
{
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
digitalWrite(14,LOW);
digitalWrite(15,LOW);
digitalWrite(16,LOW);
digitalWrite(17,HIGH);
digitalWrite(18,LOW);
digitalWrite(19,LOW);
}
void nine()
{
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
digitalWrite(14,LOW);
digitalWrite(15,LOW);
digitalWrite(16,LOW);
digitalWrite(17,LOW);
digitalWrite(18,HIGH);
digitalWrite(19,LOW);
}
void led()
{
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
}

You might also like