#include <EEPROM.h>
const int ledPin = 13; // ตั้งค่าขาที่เชื่อมต่อกับ LED
const int address = 0; // ที่อยู่ใน EEPROM ที่ใช้เก็บข้อมูล
int btn = 4;
bool btn_state;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(btn, INPUT);
// อ่านข้อมูลจาก EEPROM
byte storedValue = EEPROM.read(address);
// ปรับสถานะของ LED ตามข้อมูลที่อ่านได้
digitalWrite(ledPin, storedValue);
Serial.print("LED Status: ");
Serial.println(storedValue);
}
void loop() {
// รอรับข้อมูลจาก Serial Monitor
if (Serial.available() > 0) {
char command = Serial.read();
// กำหนดสถานะ LED และเขียนข้อมูลลงใน EEPROM
if (command == '1') {
digitalWrite(ledPin, HIGH);
EEPROM.update(address, HIGH);
Serial.println("LED ON");
} else if (command == '0') {
digitalWrite(ledPin, LOW);
EEPROM.update(address, LOW);03
Serial.println("LED OFF");
}
}
if (digitalRead(btn) == 1) {
delay(200);
btn_state = !btn_state;
// กำหนดสถานะ LED และเขียนข้อมูลลงใน EEPROM
if (btn_state == true) {
digitalWrite(ledPin, btn_state);
EEPROM.update(address, btn_state);
Serial.println("LED ON");
} else if (btn_state == false) {
digitalWrite(ledPin, btn_state);
EEPROM.update(address, btn_state);
Serial.println("LED OFF");
}
}
}