#include #include int Power = 11; int PIN = 12; #define NUMPIXELS 1 #define I2C_ADDRESS 1 // Dirección I2C del esclavo Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); byte I2C_OnOff; void setup() { Wire.begin(I2C_ADDRESS); // Inicia la comunicación I2C como esclavo con dirección 1 Wire.onReceive(BlinkLED); // Configura la función de llamada cuando se recibe un mensaje I2C pixels.begin(); // Inicializa la comunicación con el Neopixel pinMode(Power, OUTPUT); digitalWrite(Power, HIGH); pixels.setBrightness(50); // Establece el brillo del Neopixel (0-255) pixels.show(); // Actualiza el Neopixel para mostrar cualquier cambio } void loop() { // No necesitas ejecutar ningún bucle aquí, ya que el Neopixel se controla mediante I2C } void BlinkLED(int Press) { I2C_OnOff = Wire.read(); // Lee el mensaje I2C recibido // Activa o desactiva el Neopixel según el mensaje recibido if (I2C_OnOff == 1) { pixels.clear(); pixels.setPixelColor(0, pixels.Color(103, 25, 205)); // Púrpura pixels.show(); } else if (I2C_OnOff == 0) { pixels.clear(); pixels.setPixelColor(0, pixels.Color(12, 66, 101)); // Azul pixels.show(); } }