#include "Wire.h" const byte I2C_SLAVE2_ADDR = 0x25; void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); Wire.begin(I2C_SLAVE2_ADDR); Wire.onReceive(receiveEvent); // Wire.onRequest(requestEvent); } long data = 0; long response = 200; void receiveEvent(int bytes) { data = 0; uint8_t index = 0; while (Wire.available()) { byte* pointer = (byte*)&data; *(pointer + index) = (byte)Wire.read(); index++; } } //void requestEvent() //{ // Wire.write((byte*)&response, sizeof(response)); //} void loop() { if (data != 0) { Serial.println(data); data = 0; luces (); delay (5000); } } void luces (){ digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1500); digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1500); }