let's hope this works, first time posting code (using leds for now, easier to wire up in testing). Also a lot of serial prints, to verify if variables are set properly:
//setting the pins
int ledPin1 = 13;
int ledPin2 = 2;
int buttonPin1 = 7; //replace with relays later
int buttonPin2 = 8; //replace with relays later
//setting the variables
int button1State; //detect button state pressed.
int button2State;
int channelSelect = 0;
void setup() {
//Led for channel select
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
// pinMode(ledPin3, OUTPUT);
// pinMode(ledPin4, OUTPUT);
//channel select switches
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);
// pinMode(buttonPin3, INPUT_PULLUP);
// pinMode(buttonPin4, INPUT_PULLUP);
//Serial for displaying the values during debugging
Serial.begin(9600);
}
void loop() {
// output to serial monitor to validate if variables are set properly
Serial.print("Channelselect value:");
Serial.print(channelSelect);
Serial.print(" - ");
Serial.print("Button1state: ");
Serial.print(button1State);
Serial.print(" - ");
Serial.print("Button2state: ");
Serial.print(button2State);
Serial.print("\n");
int button1State = digitalRead(buttonPin1); //validate button1 pressed
int button2State = digitalRead(buttonPin2); //validate button2 pressed
//verify buttonstate and set the channelselect value to trigger case
if(button1State == 1)
{
channelSelect = 1;
}
if(button2State == 1)
{
channelSelect = 2;
}
switch(channelSelect)
{
case 0:
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
break;
case 1:
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
break;
}
}