You have several relays that are controlled by more than one Button input, such as relay1 in the following segment of your code. If you press Button1, that will turn relay1 on, but since Button2 is not pressed, it will then be immediately turned back off. The same for any other relay that is controlled by multiple buttons, the pressed button will turn it on, and any other button that is not pressed will turn it back off.
if (button1State == HIGH) {
// turn RELAY on:
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay2Pin, HIGH);
} else {
// turn RELAY off:
digitalWrite(relay1Pin, LOW);
digitalWrite(relay2Pin, LOW);
}
if (button2State == HIGH) {
// turn RELAY on:
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay3Pin, HIGH);
} else {
// turn RELAY off:
digitalWrite(relay1Pin, LOW);
digitalWrite(relay3Pin, LOW);
}
if (button3State == HIGH) {
// turn RELAY on:
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay4Pin, HIGH);
} else {
// turn RELAY off:
digitalWrite(relay1Pin, LOW);
digitalWrite(relay4Pin, LOW);
}
if (button4State == HIGH) {
// turn RELAY on:
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay3Pin, HIGH);
digitalWrite(relay4Pin, HIGH);
} else {
// turn RELAY off:
digitalWrite(relay1Pin, LOW);
digitalWrite(relay3Pin, LOW);
digitalWrite(relay4Pin, LOW);
}
if (button5State == HIGH) {
// turn RELAY on:
digitalWrite(relay5Pin, HIGH);
digitalWrite(relay2Pin, HIGH);
digitalWrite(relay3Pin, HIGH);
digitalWrite(relay4Pin, HIGH);
} else {
// turn RELAY off:
digitalWrite(relay5Pin, LOW);
digitalWrite(relay2Pin, LOW);
digitalWrite(relay3Pin, LOW);
digitalWrite(relay4Pin, LOW);
}
The state of a relay output needs to depend on the state of multiple inputs, such as:
if ((button1State == HIGH) || (button2State == HIGH) || (button3State == HIGH) || (button4State == HIGH)) {
digitalWrite(relay1Pin, HIGH);
} else {
digitalWrite(relay1Pin, LOW);
}
if ((button1State == HIGH) || (button5State == HIGH)) {
digitalWrite(relay2Pin, HIGH);
} else {
digitalWrite(relay2Pin, LOW);
}
if ((button2State == HIGH) || (button4State == HIGH) || (button5State == HIGH)) {
digitalWrite(relay3Pin, HIGH);
} else {
digitalWrite(relay3Pin, LOW);
}
if ((button3State == HIGH) || (button4State == HIGH) || (button5State == HIGH)) {
digitalWrite(relay4Pin, HIGH);
} else {
digitalWrite(relay4Pin, LOW);
}
if ((button5State == HIGH)) {
digitalWrite(relay5Pin, HIGH);
} else {
digitalWrite(relay5Pin, LOW);
}
(edit)
That code will most likely not work, since your inputs are active low, and I don't know if the relay is active high or low, but it should give a general idea of the logic needed.