int btnStatus=0;
int beforeBtn=0;
int ledStatus=0;
long lastTime=0;
void setup() {
Serial.begin(115200);
pinMode(14, INPUT); //button
pinMode(32, OUTPUT); //led
}
void loop() {
int reading = digitalRead(14);
if(reading!=beforeBtn){ // nếu trạng thái của btn hiện tại khác btn trước đó
lastTime=millis();
}
if(millis()-lastTime>30&&reading&&lastTime>0){
// nếu ms hiện tại lơn hơn ms lúc btn thay đổi trạng thái lớn hơn 30ms
// và btn đang đc ấn
// và cuối cùng là bắt sự kiện nhấp xuống
lastTime=-1;
ledStatus=!ledStatus;
digitalWrite(32, ledStatus);
}
beforeBtn=reading;
}