const int buttonPin = 0; // Chân kết nối nút nhấn
int buttonState = 0; // Trạng thái của nút nhấn
int lastButtonState = HIGH; // Trạng thái trước đó của nút nhấn
int counter = 0; // Biến đếm số lần nhấn
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Thiết lập chân nút nhấn với pull-up nội bộ
Serial.begin(9600); // Bắt đầu giao tiếp Serial với tốc độ 9600 bps
}
void loop() {
buttonState = digitalRead(buttonPin); // Đọc trạng thái của nút nhấn
// Kiểm tra nếu nút nhấn được nhấn (chuyển từ HIGH sang LOW)
if (buttonState == LOW && lastButtonState == HIGH) {
counter++; // Tăng biến đếm
Serial.print("Number of button presses: ");
Serial.println(counter); // Gửi số lần nhấn qua Serial
// Kiểm tra nếu biến đếm vượt quá 10
if (counter >= 10) {
counter = 0; // Reset biến đếm về 0
Serial.println("Reset counter!"); // Gửi thông báo qua Serial
}
delay(300); // Delay ngắn để tránh bounce
}
// Cập nhật trạng thái nút nhấn trước đó
lastButtonState = buttonState;
}