⏱️ ماموریت ۱۷: چشمک بدون delay

همون چشمک، ولی این بار با millis() — تا برنامه وسط انتظار قفل نشه.

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

هدف‌ها

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

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

جواب کامل

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

سیم‌کشی

  1. Arduino Uno (D2) ⟷ Push Button (PIN_A1)
  2. Push Button (PIN_B1) ⟷ Arduino Uno (GND1)
  3. Arduino Uno (D8) ⟷ بازر زنگی (POS)
  4. بازر زنگی (NEG) ⟷ Arduino Uno (GND2)
  5. Arduino Uno (D13) ⟷ Resistor (220Ω) (PIN1)
  6. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  7. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  8. Arduino Uno (D12) ⟷ Resistor (220Ω) (PIN1)
  9. Resistor (220Ω) (PIN2) ⟷ LED (Green) (ANODE)
  10. LED (Green) (CATHODE) ⟷ Arduino Uno (GND2)

کد

const int fast = 13, slow = 12, buzzer = 8, button = 2;

unsigned long tFast = 0, tSlow = 0;
bool fastOn = false, slowOn = false;

void setup() {
  pinMode(fast, OUTPUT);
  pinMode(slow, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(button, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  unsigned long now = millis();

  if (now - tFast >= 200) {
    tFast = now;
    fastOn = !fastOn;
    digitalWrite(fast, fastOn);
  }

  if (now - tSlow >= 1000) {
    tSlow = now;
    slowOn = !slowOn;
    digitalWrite(slow, slowOn);
  }

  if (digitalRead(button) == LOW) tone(buzzer, 880, 60);
}

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

🎭

ماموریت ۱۸: دو چشمک با دو سرعت

📏

ماموریت ۲۲: فاصله‌سنج

🅿️

ماموریت ۲۳: حسگر پارک

7️⃣

ماموریت ۲۵: شمارش صفر تا نه

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