void setup()
{
Wire.begin();
Serial.begin(115200);
//Use internal resitors to keep them in a known high state.
pinMode(yellow_btn, INPUT_PULLUP);
pinMode(blue_btn, INPUT_PULLUP);
pinMode(red_btn, INPUT_PULLUP);
pinMode(green_btn, INPUT_PULLUP);
get_relays_status();
}
void loop()
{
// Since we'll only ever want the relay to be on or off,
// the logic is handled by the product. Here we're just pressing buttons and
// putting a small 400 ms debounce.
//button one, relay one!
if(digitalRead(yellow_btn) == LOW){
Serial.println("Yellow Button");
Wire.beginTransmission(RELAY_ADDR);
Wire.write(TOGGLE_RELAY_ONE);
Wire.endTransmission();
delay(400);
}
//button two, relay two!
if(digitalRead(blue_btn) == LOW){
Serial.println("Blue Button");
Wire.beginTransmission(RELAY_ADDR);
Wire.write(TOGGLE_RELAY_TWO);
Wire.endTransmission();
delay(400);
}
//button three, toggle every relay: on -> off and off -> on.
if(digitalRead(red_btn) == LOW){
Serial.println("Red Button");
Wire.beginTransmission(RELAY_ADDR);
Wire.write(TOGGLE_ALL);
Wire.endTransmission();
delay(400);
}
//button four, turn off all the relays!
if(digitalRead(green_btn) == LOW){
Serial.println("Green Button");
Wire.beginTransmission(RELAY_ADDR);
Wire.write(TURN_ALL_OFF);
Wire.endTransmission();
Need help?
Do you have a question about the Qwiic Quad Relay and is the answer not in the manual?
Questions and answers