#define RelayPin1 21
#define RelayPin2 19
#define RelayPin3 32
#define RelayPin4 33
#define SwitchPin1 25
#define SwitchPin2 26
#define SwitchPin3 27
#define SwitchPin4 14
int toggleState_1 = 0; //Define integer to remember the toggle state for relay 1
int toggleState_2 = 0; //Define integer to remember the toggle state for relay 2
int toggleState_3 = 0; //Define integer to remember the toggle state for relay 3
int toggleState_4 = 0; //Define integer to remember the toggle state for relay 4
String re;
int relay;
String position;
int buttonstate1;
int buttonstate2;
int buttonstate3;
int buttonstate4;
void setup()
{
Serial.begin(9600);
pinMode(RelayPin1, OUTPUT);
pinMode(RelayPin2, OUTPUT);
pinMode(RelayPin3, OUTPUT);
pinMode(RelayPin4, OUTPUT);
pinMode(SwitchPin1, INPUT);
pinMode(SwitchPin2, INPUT);
pinMode(SwitchPin3, INPUT);
pinMode(SwitchPin4, INPUT);
digitalWrite(RelayPin1, toggleState_1);
digitalWrite(RelayPin2, toggleState_2);
digitalWrite(RelayPin3, toggleState_3);
digitalWrite(RelayPin4, toggleState_4);
}
void loop()
{
buttonstate1=digitalRead(SwitchPin1);
if(buttonstate1==HIGH)
{
digitalWrite(RelayPin1,HIGH);
delay(1000);
}
else
{
digitalWrite(RelayPin1,LOW);
delay(1000);
}
buttonstate2=digitalRead(SwitchPin2);
if(buttonstate2==HIGH)
{
digitalWrite(RelayPin2,HIGH);
delay(1000);
}
else
{
digitalWrite(RelayPin2,LOW);
delay(1000);
}
buttonstate3=digitalRead(SwitchPin3);
if(buttonstate3==HIGH)
{
digitalWrite(RelayPin3,HIGH);
delay(1000);
}
else
{
digitalWrite(RelayPin3,LOW);
delay(1000);
}
buttonstate4=digitalRead(SwitchPin4);
if(buttonstate4==HIGH)
{
digitalWrite(RelayPin4,HIGH);
delay(1000);
}
else
{
digitalWrite(RelayPin4,LOW);
delay(1000);
}
}
Serial.println("Which light you want to turn on/off?");
delay(5000);
while(Serial.available()==0){}
re=Serial.readString();
relay= re.toInt();
{
switch(relay){
case 1:
if(toggleState_1 == 0){
digitalWrite(RelayPin1, HIGH); // turn on relay 1
toggleState_1 = 1;
Serial.println("Device1 ON");
}
else{
digitalWrite(RelayPin1, LOW); // turn off relay 1
toggleState_1 = 0;
Serial.println("Device1 OFF");
}
delay(1000);
break;
case 2:
if(toggleState_2 == 0){
digitalWrite(RelayPin2, HIGH); // turn on relay 2
toggleState_2 = 1;
Serial.println("Device2 ON");
}
else{
digitalWrite(RelayPin2, LOW); // turn off relay 2
toggleState_2 = 0;
Serial.println("Device2 OFF");
}
delay(1000);
break;
case 3:
if(toggleState_3 == 0){
digitalWrite(RelayPin3, HIGH); // turn on relay 3
toggleState_3 = 1;
Serial.println("Device3 ON");
}
else{
digitalWrite(RelayPin3, LOW); // turn off relay 3
toggleState_3 = 0;
Serial.println("Device3 OFF");
}
delay(1000);
break;
case 4:
if(toggleState_4 == 0){
digitalWrite(RelayPin4, HIGH); // turn on relay 4
toggleState_4 = 1;
Serial.println("Device4 ON");
}
else{
digitalWrite(RelayPin4, LOW); // turn off relay 4
toggleState_4 = 0;
Serial.println("Device4 OFF");
}
delay(1000);
break;}
}