⚡ شمارندهی وقفه
هیچ فشاری گم نمیشود، حتی در دل delay.
سطح: چالشی ⭐⭐⭐ · مود: آردوینو (سهبعدی + کد)
قطعات لازم
کد کامل پروژه
const int button = 2, led = 13;
volatile int count = 0;
volatile bool changed = false;
void onPress() {
count++;
changed = true;
}
void setup() {
pinMode(button, INPUT_PULLUP);
pinMode(led, OUTPUT);
attachInterrupt(digitalPinToInterrupt(button), onPress, FALLING);
Serial.begin(9600);
}
void loop() {
digitalWrite(led, HIGH);
delay(400);
digitalWrite(led, LOW);
delay(400);
if (changed) {
changed = false;
Serial.print("shomare:");
Serial.println(count);
}
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «شمارندهی وقفه» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!