#define SWITCH_PIN 7 // กำหนดขาที่ใช้กับปุ่มกด
bool lastButtonState = HIGH; // เก็บค่าปุ่มก่อนหน้า
unsigned long lastDebounceTime = 0;
const unsigned long debounceDelay = 50; // หน่วงเวลาเพื่อลดการเด้งของปุ่ม
void setup() {
pinMode(SWITCH_PIN, INPUT_PULLUP); // ใช้ Pull-up ภายในของ Arduino
Serial.begin(9600); // เปิด Serial Monitor
}
void loop() {
int reading = digitalRead(SWITCH_PIN); // อ่านค่าปุ่ม
// Serial.print("Raw Reading: "); // แสดงค่าดิบก่อนเข้าเงื่อนไข
// Serial.println(reading);
// เช็คว่าค่าปุ่มเปลี่ยนแปลงหรือไม่
if (reading != lastButtonState && (millis() - lastDebounceTime) > debounceDelay) {
lastDebounceTime = millis(); // บันทึกเวลาล่าสุด
if (reading == LOW) { // ถ้ากดปุ่ม (LOW)
Serial.println("หยุดจ่ายกระดาษ!");
} else { // ถ้าปล่อยปุ่ม (HIGH)
Serial.println("กำลังจ่ายกระดาษ!");
}
}
lastButtonState = reading; // อัปเดตค่าก่อนหน้า
}