🚸 ماموریت ۳۵: چراغ عابر پیاده

چراغ راهنمایی معمولی، ولی با یه دکمه که عابر می‌زنه و چرخه رو زودتر عوض می‌کنه.

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

هدف‌ها

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

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

جواب کامل

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

سیم‌کشی

  1. Arduino Uno (D3) ⟷ LED (Red) (ANODE)
  2. LED (Red) (CATHODE) ⟷ Arduino Uno (GND1)
  3. Arduino Uno (D4) ⟷ LED زرد (ANODE)
  4. LED زرد (CATHODE) ⟷ Arduino Uno (GND1)
  5. Arduino Uno (D5) ⟷ LED (Red) (ANODE)
  6. LED (Red) (CATHODE) ⟷ Arduino Uno (GND1)
  7. Arduino Uno (D6) ⟷ LED زرد (ANODE)
  8. LED زرد (CATHODE) ⟷ Arduino Uno (GND2)
  9. Arduino Uno (D7) ⟷ LED (Red) (ANODE)
  10. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  11. Arduino Uno (D8) ⟷ LED زرد (ANODE)
  12. LED زرد (CATHODE) ⟷ Arduino Uno (GND2)
  13. Arduino Uno (D2) ⟷ Push Button (PIN_A1)
  14. Push Button (PIN_A2) ⟷ Arduino Uno (GND1)

کد

// Electronic dice 🎲 — press the button to roll!
// The number of lit LEDs (pins 3..8) is your roll.
const int BUTTON = 2;
const int leds[6] = {3, 4, 5, 6, 7, 8};

void setup() {
  pinMode(BUTTON, INPUT_PULLUP);
  for (int i = 0; i < 6; i++) pinMode(leds[i], OUTPUT);
  randomSeed(analogRead(A0));
  Serial.begin(9600);
}

void allOff() {
  for (int i = 0; i < 6; i++) digitalWrite(leds[i], LOW);
}

void loop() {
  if (digitalRead(BUTTON) == LOW) {
    // spin animation
    for (int spin = 0; spin < 12; spin++) {
      allOff();
      digitalWrite(leds[spin % 6], HIGH);
      delay(80);
    }
    // final roll
    int roll = random(1, 7);
    allOff();
    for (int i = 0; i < roll; i++) digitalWrite(leds[i], HIGH);
    Serial.print("You rolled: ");
    Serial.println(roll);
    delay(2500);
    allOff();
  }
}

ماموریت‌های مشابه

💾

ماموریت ۳۴: رکورد را یادش بماند

⚡

ماموریت ۳۶: شمارش با وقفه

🎰

ماموریت ۳۳: هشت خروجی با سه پایه

↔️

ماموریت ۳۷: موتور در دو جهت

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