🔁 ماموریت ۱۰: دکمهی کلیدی
هر بار فشار دادن دکمه، LED عوض بشه (نه اینکه فقط موقع نگه داشتن روشن باشه).
سطح: متوسط ⭐⭐ · مود: آردوینو — با کد · رایگان
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه دکمه
- ☐ یه LED
- ☐ کد از digitalRead استفاده کنه
- ☐ کد حالت قبلی دکمه رو نگه داره
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- کلید فشاری
- مقاومت 220Ω × ۴
- LED آبی × ۴
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (D2) ⟷ Push Button (PIN_A1)
- Push Button (PIN_A2) ⟷ Arduino Uno (GND1)
- Arduino Uno (D5) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ LED (Blue) (ANODE)
- LED (Blue) (CATHODE) ⟷ Arduino Uno (GND2)
- Arduino Uno (D6) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ LED (Blue) (ANODE)
- LED (Blue) (CATHODE) ⟷ Arduino Uno (GND2)
- Arduino Uno (D7) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ LED (Blue) (ANODE)
- LED (Blue) (CATHODE) ⟷ Arduino Uno (GND2)
- Arduino Uno (D8) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ LED (Blue) (ANODE)
- LED (Blue) (CATHODE) ⟷ Arduino Uno (GND2)
کد
// Press the button → counter increments. 4 LEDs show value in binary.
const int BUTTON = 2;
const int LEDS[] = {5, 6, 7, 8};
int count = 0;
bool last = HIGH;
void setup() {
pinMode(BUTTON, INPUT_PULLUP);
for (int i = 0; i < 4; i++) pinMode(LEDS[i], OUTPUT);
}
void loop() {
bool now = digitalRead(BUTTON);
if (last == HIGH && now == LOW) {
count = (count + 1) % 16;
delay(50); // debounce
}
last = now;
for (int i = 0; i < 4; i++) {
digitalWrite(LEDS[i], (count >> i) & 1);
}
}
ماموریتهای مشابه
🎵
ماموریت ۹: یه آهنگ کوتاه
🎮
ماموریت ۱۱: دو دکمه، دو کار
🔢
ماموریت ۱۲: شمارنده در سریال
📶
ماموریت ۱۳: نوار سطح
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها