🕹️ ماموریت ۵۵: نقطهی جویاستیکی
محور X جویاستیک روی A0، ۵ LED روی D2 تا D6. با map مقدار ۰..۱۰۲۳ رو به شمارهی LED ۰..۴ تبدیل کن.
سطح: متوسط ⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه جویاستیک
- ☐ حداقل پنج LED
- ☐ کد از map استفاده کنه
- ☐ کد analogRead داشته باشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- جویاستیک
- LED سبز × ۵
- مقاومت 220Ω × ۵
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (VCC5) ⟷ جویاستیک (VCC)
- جویاستیک (GND) ⟷ Arduino Uno (GND2)
- جویاستیک (VRX) ⟷ Arduino Uno (A0)
- Arduino Uno (D2) ⟷ LED (Green) (ANODE)
- LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
- Arduino Uno (D3) ⟷ LED (Green) (ANODE)
- LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
- Arduino Uno (D4) ⟷ LED (Green) (ANODE)
- LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
- Arduino Uno (D5) ⟷ LED (Green) (ANODE)
- LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
- Arduino Uno (D6) ⟷ LED (Green) (ANODE)
- LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
- مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
کد
void setup() {
for (int p = 2; p <= 6; p++) pinMode(p, OUTPUT);
}
void loop() {
int x = analogRead(A0);
int dot = map(x, 0, 1023, 0, 4);
for (int i = 0; i < 5; i++) {
digitalWrite(i + 2, i == dot ? HIGH : LOW); // only one LED lit
}
delay(20);
}
ماموریتهای مشابه
⏱️
ماموریت ۵۴: کرنومتر
❤️
ماموریت ۵۶: شکلک خودت روی LCD
💡
ماموریت ۵۳: عدد دودویی روی ۸ LED
📋
ماموریت ۵۷: منوی سریال
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها