//When I long press the push button then the led is continually blinking that should not happen it should take only on
#define SwitchPin1 4
#define SwitchPin2 16
#define RelayPin1 33
#define RelayPin2 25
int toggleState_1 = 0;
int toggleState_2 = 0;
bool SwitchPin1Released = true;
bool SwitchPin2Released = true;
void setup()
{
Serial.begin(115200);
pinMode(RelayPin1, OUTPUT);
pinMode(RelayPin2, OUTPUT);
pinMode(SwitchPin1, INPUT);
pinMode(SwitchPin2, INPUT);
digitalWrite(RelayPin1, toggleState_1);
digitalWrite(RelayPin2, toggleState_2);
}
void loop()
{
if (digitalRead(SwitchPin1) == LOW) {
SwitchPin1Released = true;
delay (10);
}
if (digitalRead(SwitchPin2) == LOW) {
SwitchPin2Released = true;
delay (10);
}
if (SwitchPin1Released && digitalRead(SwitchPin1) == HIGH)
{
delay (300);
SwitchPin1Released = false;
relayOnOff(1);
toggleState_1;
}
if (SwitchPin2Released && digitalRead(SwitchPin2) == HIGH)
{
delay (300);
SwitchPin2Released = false;
relayOnOff(2);
toggleState_2;
}
}
void relayOnOff(int relay){
switch(relay){
case 1:
if(toggleState_1 == 0){
digitalWrite(RelayPin1, HIGH);
toggleState_1 = 1;
Serial.println("Device1 ON");
}
else{
digitalWrite(RelayPin1, LOW);
toggleState_1 = 0;
Serial.println("Device1 OFF");
}
break;
case 2:
if(toggleState_2 == 0){
digitalWrite(RelayPin2, HIGH);
toggleState_2 = 1;
Serial.println("Device2 ON");
}
else{
digitalWrite(RelayPin2, LOW);
toggleState_2 = 0;
Serial.println("Device2 OFF");
}
break;
default : break;
}
}