#include #include "I2CRelay.h" I2CRelay relay(8, 3); // Use your SDA/SCL pins void setup() { Serial.begin(115200); relay.begin(); uint8_t addr = 0x08; // 1. Scan the I2C bus Serial.println("=== I2C Scan ==="); relay.scan(); // 2. Get info from the slave Serial.println("=== Request Info ==="); String info = relay.requestSlaveInfo(addr); Serial.print("Info: "); Serial.println(info); // 3. Change the slave name Serial.println("=== Change Name ==="); relay.setSlaveName(addr, "FirstRelay"); delay(100); Serial.println("Name changed."); // 4. Turn relay 1 ON Serial.println("=== Turn Relay 1 ON ==="); relay.setRelay(addr, 1, 1); // 1 = ON delay(1500); // 5. Turn relay 1 OFF Serial.println("=== Turn Relay 1 OFF ==="); relay.setRelay(addr, 1, 0); // 0 = OFF delay(500); // 6. Turn all relays ON Serial.println("=== Turn All Relays ON ==="); relay.setAllRelays(addr, 1); // 1 = ON delay(500); // 7. Turn all relays OFF Serial.println("=== Turn All Relays OFF ==="); relay.setAllRelays(addr, 0); // 0 = OFF delay(500); // 8. Turn relay 2 ON for 2 seconds Serial.println("=== Relay 2 ON for 2 seconds ==="); relay.setRelayTimer(addr, 2, 2000); // relay 2, 2000 ms delay(2500); // 9. Turn all relays ON for 3 seconds Serial.println("=== All relays ON for 3 seconds ==="); relay.setAllRelaysTimer(addr, 3000); // 3000 ms delay(3500); // 10. Change slave address from 0x08 to 0x09 Serial.println("=== Change Address 0x08 -> 0x09 ==="); relay.setSlaveAddress(0x08, 0x08); addr = 0x08; // Use new address for further commands delay(1500); // 11. Confirm new address by requesting info Serial.println("=== Request Info from 0x09 ==="); info = relay.requestSlaveInfo(addr); Serial.print("Info: "); Serial.println(info); Serial.println("=== Test Complete ==="); } void loop() { // Nothing here }