//////check okey code/////
#define sensor1 A0
#define sensor2 A1
#define sensor3 A2
#define sensor4 A3
#define sw A4
#define Home A5
int HSW;
//Solenoids
#define SLD1_A1 2
#define SLD2_A2 3
#define SLD4_C1 4
#define SLD3_B1 5
#define COM 6
int f = 0,f1=0,f2=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
pinMode(sensor4, INPUT);
pinMode(SLD1_A1, OUTPUT);
pinMode(SLD2_A2, OUTPUT);
pinMode(SLD3_B1, OUTPUT);
pinMode(SLD4_C1, OUTPUT);
pinMode(COM, OUTPUT);
digitalWrite(SLD1_A1, HIGH); //A1 OFF
digitalWrite(SLD2_A2, HIGH); //A2 OFF
digitalWrite(SLD3_B1, HIGH); //B1 OFF
digitalWrite(SLD4_C1, HIGH); //C1 OFF
digitalWrite(COM, HIGH); //COMMON OFF
}
void loop() {
// put your main code here, to run repeatedly:
int S1 = digitalRead(sensor1); // A1
int S2 = digitalRead(sensor2); // A2
int S3 = digitalRead(sensor3); // B2
int S4 = digitalRead(sensor4); //C2
int SW = digitalRead(sw);
HSW=digitalRead(Home);
/*int SLD1_state = digitalRead(SLD1_A1);
int SLD2_state = digitalRead(SLD2_A2);
int SLD3_state = digitalRead(SLD3_B2);
int SLD4_state = digitalRead(SLD4_C2);*/
if (SW == 1)
{
Serial.println("System ON");
if(HSW==1)
{
Serial.println("Home_sw on");
digitalWrite(SLD1_A1, LOW);//ON
digitalWrite(SLD3_B1, LOW);//ON
if(S2==1)
{
digitalWrite(SLD1_A1, HIGH);//OFF
f1=1;
}
if(S4==1&&f1==1)
{
digitalWrite(SLD3_B1, HIGH);//OFF
}
f2=1;
}
if(f2==1)
{
//digitalWrite(SLD2_A2, LOW); //ON A2
digitalWrite(COM, LOW);//COMMON ON
if (f==0 && S2 == 1 && S1 ==0 )
{
Serial.println ("Stage 1");
digitalWrite(SLD2_A2, LOW); //ON A2
Serial.println("A2 ON");
digitalWrite(SLD1_A1, HIGH); //A1 OFF
f=4;
Serial.println ("--------------");
}
if(( S1 == 1 )&& (S2 == 0) &&(f==4))
{
Serial.println ("Stage 2");
digitalWrite(SLD2_A2, HIGH); //OFF A2
Serial.println("A2 OFF");
digitalWrite(SLD1_A1, HIGH); //A1 OFF
digitalWrite(SLD4_C1, LOW); //ON C1
Serial.println("C1 ON");
f =1 ;
Serial.println ("--------------");
}
if (f ==1 && S3 == 1)
{
Serial.println ("Stage 3");
digitalWrite(SLD4_C1, HIGH); //OFF C1
Serial.println("C1 OFF");
digitalWrite(SLD1_A1, LOW);
Serial.println("A1 ON");
f=2;
Serial.println ("--------------");
}
if (S3 == 1 && S2 == 1)
{
Serial.println ("Stage 4");
Serial.println("A1 OFF");
digitalWrite(SLD1_A1, HIGH); //A1 OFF
Serial.println("B1 ON");
digitalWrite(SLD3_B1, LOW); //ON C2
f = 3;
Serial.println ("--------------");
}
if (S4 == 1 && S3 == 0 && f == 3)
{
Serial.println ("Stage 5");
Serial.println("B1 OFF");
digitalWrite(SLD3_B1, HIGH); //OFF C2
f=0;
digitalWrite(SLD2_A2, LOW);
Serial.println ("--------------");
}
}
else
{
Serial.println("System OFF");
digitalWrite(SLD1_A1, HIGH); //A1 OFF
digitalWrite(SLD2_A2, HIGH); //A2 OFF
digitalWrite(SLD3_B1, HIGH); //B2 OFF
digitalWrite(SLD4_C1, HIGH); //C2 OFF
digitalWrite(COM, HIGH);//COMMON OFF
}
}
}