#define LED1 15 bool StatusLed = false; #include void setup() { Wire.begin(8); // เริ่มต้นใช้งาน I2C ด้วยที่อยู่เลข 8 Wire.onReceive(receiveData); // ตั้งค่าฟังก์ชันเมื่อมีการรับข้อมูลผ่าน I2C Wire.onRequest(sendData); // ตั้งค่าฟังก์ชันเมื่อมีการร้องขอข้อมูลผ่าน I2C Serial.begin(115200); // เริ่มต้นใช้งาน Serial } void loop() { } void receiveData(int byteCount) { String receivedData = ""; while (Wire.available()) { String receivedData = Wire.readString(); // Read data from Slave receivedData.trim(); Serial.print(receivedData); if (receivedData.equals("LED_ON")) { digitalWrite(LED1, HIGH); StatusLed = true; } if (receivedData.equals("LED_OFF")) { digitalWrite(LED1, LOW); StatusLed = false; } else { Serial2.print("NO-INPUT"); } } } void sendData() { if(StatusLed) { String data = "LEDON."; } else { String data = "LEDOFF"; } Wire.write(data.c_str()); // ส่งข้อมูลกลับไปยัง Master }