🖲️ درس 63: لرزش دکمه و debounce
چرا یک فشار گاهی چند بار شمرده میشود — و چطور درستش کنیم.
سطح: پیشرفته · زمان: حدود 18 دقیقه · مفاهیم: debounce، millis، دکمه
قدمهای این درس
- دکمهها میلرزند!
- قدم ۱ — دکمه و LED
- قدم ۲ — شمارندهی ساده (و مشکلش)
- قدم ۳ — debounce با millis
- اشتباه رایج: delay(200) بهعنوان debounce
- چالش: فشار طولانی
نمونهای از کد این درس
const int BUTTON = 2;
int last = HIGH;
int presses = 0;
void setup() {
pinMode(BUTTON, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int now = digitalRead(BUTTON);
if (now == LOW && last == HIGH) { // edge: HIGH -> LOW
presses++;
Serial.print("presses: ");
Serial.println(presses);
}
last = now;
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓