#define LED_INTERNO 2
#define LED_EXTERNO 12
#define BUTTON 13
#define DLY 500
void setup(){
pinMode(LED_INTERNO, OUTPUT);
pinMode(LED_EXTERNO, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
}
int LED_estado = LOW;
int BUTTON_estado = HIGH;
int last_BUTTON_estado = HIGH;
void loop(){
BUTTON_estado = digitalRead(BUTTON);
// ตรวจสอบว่าเพิ่งกดปุ่ม (ปุ่มจาก HIGH เป็น LOW)
if (BUTTON_estado == LOW && last_BUTTON_estado == HIGH) {
// เปลี่ยนสถานะของ LED
LED_estado = !LED_estado;
delay(200); // ป้องกันการกดซ้ำเร็วเกินไป (debouncing)
}
// อัพเดตสถานะของปุ่ม
last_BUTTON_estado = BUTTON_estado;
// เขียนสถานะไปที่ LED
digitalWrite(LED_INTERNO, LED_estado);
digitalWrite(LED_EXTERNO, LED_estado);
delay(DLY); // หน่วงเวลา
}