#include #define SLAVE1_ADDRESS 0x08 // Dirección I2C del primer esclavo #define SLAVE2_ADDRESS 0x09 // Dirección I2C del segundo esclavo void setup() { Wire.begin(); // Iniciar la comunicación I2C Serial.begin(9600); } void loop() { // Pedir estado del botón al primer esclavo Wire.requestFrom(SLAVE1_ADDRESS, 1); if (Wire.available()) { int buttonState1 = Wire.read(); if (buttonState1 == HIGH) { // Enviar comando al segundo esclavo para encender LED Wire.beginTransmission(SLAVE2_ADDRESS); Wire.write(1); // Encender LED Wire.endTransmission(); } else { // Enviar comando al segundo esclavo para apagar LED Wire.beginTransmission(SLAVE2_ADDRESS); Wire.write(0); // Apagar LED Wire.endTransmission(); } } // Pedir estado del botón al segundo esclavo Wire.requestFrom(SLAVE2_ADDRESS, 1); if (Wire.available()) { int buttonState2 = Wire.read(); if (buttonState2 == HIGH) { // Enviar comando al primer esclavo para encender LED Wire.beginTransmission(SLAVE1_ADDRESS); Wire.write(1); // Encender LED Wire.endTransmission(); } else { // Enviar comando al primer esclavo para apagar LED Wire.beginTransmission(SLAVE1_ADDRESS); Wire.write(0); // Apagar LED Wire.endTransmission(); } } delay(100); // Pequeño retraso para no saturar el bus I2C }