⏳ ماموریت ۸۳: تایمر شمارش معکوس

TM1637: CLK→D2، DIO→D3. ثانیه‌ها را با millis کم کن، با showNumberDecEx دقیقه:ثانیه نشون بده و در صفر بازر D8 را روشن کن.

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

هدف‌ها

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

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

جواب کامل

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

سیم‌کشی

  1. Arduino Uno (D2) ⟷ 4-Digit Display (TM1637) (CLK)
  2. Arduino Uno (D3) ⟷ 4-Digit Display (TM1637) (DIO)
  3. Arduino Uno (VCC5) ⟷ 4-Digit Display (TM1637) (VCC)
  4. 4-Digit Display (TM1637) (GND) ⟷ Arduino Uno (GND1)
  5. Arduino Uno (D8) ⟷ بازر زنگی (POS)
  6. بازر زنگی (NEG) ⟷ Arduino Uno (GND2)

کد

// TM1637 countdown timer: 1:00 down to 0:00, then beep
#include <TM1637Display.h>

TM1637Display display(2, 3);   // CLK, DIO
const int BUZZER = 8;
int secondsLeft = 60;
unsigned long lastTick = 0;

void setup() {
  pinMode(BUZZER, OUTPUT);
  display.setBrightness(5);
}

void loop() {
  int shown = (secondsLeft / 60) * 100 + (secondsLeft % 60);
  display.showNumberDecEx(shown, 0b01000000, true);   // mm:ss with the colon
  if (secondsLeft == 0) {
    digitalWrite(BUZZER, HIGH);   // time is up
    return;
  }
  if (millis() - lastTick >= 1000) {
    lastTick = millis();
    secondsLeft--;
  }
}

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

😊

ماموریت ۸۱: شکلک روی ماتریس ۸×۸

📱

ماموریت ۸۵: کنترل LED با بلوتوث

🕰️

ماموریت ۷۹: ساعت واقعی با DS3231

🌗

ماموریت ۸۷: محو شدن LED با ledc

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