🕹️ ماموریت ۵۵: نقطه‌ی جوی‌استیکی

محور X جوی‌استیک روی A0، ۵ LED روی D2 تا D6. با map مقدار ۰..۱۰۲۳ رو به شماره‌ی LED ۰..۴ تبدیل کن.

سطح: متوسط ⭐⭐ · مود: آردوینو — با کد

هدف‌ها

قطعه‌های لازم

▶ همین ماموریت را در شبیه‌ساز امتحان کن
💡 گیر کردی؟ داخل شبیه‌ساز راهنما را ببین، و اگر باز هم نشد دکمه‌ی «برام حلش کن» مدار را برایت می‌چیند تا ببینی چطور کار می‌کند.

جواب کامل

اول خودت امتحان کن! بعد جواب را ببین 👀

سیم‌کشی

  1. Arduino Uno (VCC5) ⟷ جوی‌استیک (VCC)
  2. جوی‌استیک (GND) ⟷ Arduino Uno (GND2)
  3. جوی‌استیک (VRX) ⟷ Arduino Uno (A0)
  4. Arduino Uno (D2) ⟷ LED (Green) (ANODE)
  5. LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
  6. مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
  7. Arduino Uno (D3) ⟷ LED (Green) (ANODE)
  8. LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
  9. مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
  10. Arduino Uno (D4) ⟷ LED (Green) (ANODE)
  11. LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
  12. مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
  13. Arduino Uno (D5) ⟷ LED (Green) (ANODE)
  14. LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
  15. مقاومت 220Ω (PIN2) ⟷ Arduino Uno (GND1)
  16. Arduino Uno (D6) ⟷ LED (Green) (ANODE)
  17. LED (Green) (CATHODE) ⟷ مقاومت 220Ω (PIN1)
  18. مقاومت 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

📋

ماموریت ۵۷: منوی سریال

📚 برای یاد گرفتن پایه‌ها سری به دوره‌ی آموزش آردوینو بزن · 🎯 همه‌ی ماموریت‌ها