//need to figure out a way of toggling the relay states from the same serial input const int Relay1 = 7; //PIN 7 FOR RELAY #1 const int Relay2 = 6; //PIN 6 FOR RELAY #2 const int Relay3 = 5; //PIN 5 FOR RELAY #3 const int Relay4 = 4; //PIN 4 FOR RELAY #4 byte serialA; void setup(){ Serial.begin(9600); pinMode(Relay1,OUTPUT); //SETTING THE OUTPUT FOR RELAY #1 pinMode(Relay2,OUTPUT); //SETTING THE OUTPUT FOR RELAY #2 pinMode(Relay3,OUTPUT); //SETTING THE OUTPUT FOR RELAY #3 pinMode(Relay4,OUTPUT); //SETTING THE OUTPUT FOR RELAY #4 } void loop() { if (Serial.available()>0) {serialA =Serial.read(); Serial.println(serialA);} switch(serialA){ case 49: digitalWrite(Relay1, !digitalRead(Relay1)); delay(100); break; //if recieving a 49(ascii for 1) turn on Relay #1 case 50: digitalWrite(Relay2, !digitalRead(Relay2)); delay(100); break; //if recieving a 50(ascii for 2) turn on Relay #2 case 51: digitalWrite(Relay3, !digitalRead(Relay3)); delay(100); break; //if recieving a 51(ascii for 3) turn on Relay #3 case 52: digitalWrite(Relay4,!digitalRead(Relay4)); delay(100); break; //if recieving a 52(ascii for 4) turn on Relay #4 case 53: digitalWrite(Relay1, HIGH); digitalWrite(Relay2, HIGH); digitalWrite(Relay3, HIGH); digitalWrite(Relay4, HIGH); break; //if recieving a 53(ascii for 5) turn on ALL Relays case 54: digitalWrite(Relay1, LOW); digitalWrite(Relay2, LOW); digitalWrite(Relay3, LOW); digitalWrite(Relay4, LOW); break; //if recieving a 54(ascii for 6) turn OFF ALL Relays } }