I2CRelay/examples/Master/Master.ino

58 lines
1.3 KiB
C++

#include <I2CRelay.h>
I2CRelay relay;
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("I2CRelay Master Example with 'i' command for ID");
relay.begin();
// Run test functions as before
relay.setRelay(1, 1);
relay.setRelay(8, 1);
Serial.println("Turned ON relay 1 and relay 8");
delay(500);
relay.setRelay(1, 0);
relay.setRelay(8, 0);
Serial.println("Turned OFF relay 1 and relay 8");
delay(500);
relay.setAllRelays(1);
Serial.println("Turned ON all relays");
delay(500);
relay.setAllRelays(0);
Serial.println("Turned OFF all relays");
delay(500);
relay.setDeviceName("TestPanel");
Serial.println("Device name set to 'TestPanel'");
delay(500);
String id = relay.getIdentification();
Serial.print("Identification string: ");
Serial.println(id);
delay(500);
relay.setI2CAddress(0x09);
Serial.println("Changed I2C address to 0x09");
Serial.println("** Update master address to 0x09 for further communication **");
}
void loop() {
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
cmd.trim();
// Replace "id" with "i" here:
if (cmd == "i") {
String id = relay.getIdentification();
Serial.print("ID: ");
Serial.println(id);
} else {
relay.handleSerialCommand(cmd);
}
}
}