#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buttonPin = 4;
int queueNumber = 1;
bool lastButtonState = HIGH;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Next Queue:");
lcd.setCursor(0, 1);
lcd.print(queueNumber);
}
void loop() {
bool buttonState = digitalRead(buttonPin);
// ตรวจจับจังหวะกด (จาก HIGH เป็น LOW)
if (buttonState == LOW && lastButtonState == HIGH) {
delay(50); // ดีเลย์ดักสัญญาณกระเพื่อมช่วงแรก
if (digitalRead(buttonPin) == LOW) { // เช็กอีกทีว่ากดจริงไหม
queueNumber++;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Next Queue:");
lcd.setCursor(0, 1);
lcd.print(queueNumber);
while (digitalRead(buttonPin) == LOW) {
delay(10);
}
}
}
lastButtonState = buttonState;
}