⏲️ تایمر معکوس با TM1637

شمارش معکوس دقیقه:ثانیه؛ دکمه‌ی D4 شروع و توقف می‌کند.

سطح: متوسط ⭐⭐ · مود: آردوینو (سه‌بعدی + کد)

قطعات لازم

کد کامل پروژه

// TM1637 countdown timer MM:SS. Button on D4 starts / pauses it.
#include <TM1637Display.h>

TM1637Display display(2, 3);       // CLK, DIO
const int BUTTON = 4;
int minutes = 1, seconds = 30;     // start from 01:30
bool running = false;
bool wasPressed = false;
unsigned long lastTick = 0;

void show() {
  // 0b01000000 lights the colon; true = keep leading zeros (01:30)
  display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);
}

void setup() {
  pinMode(BUTTON, INPUT_PULLUP);
  display.setBrightness(5);        // 0..7
  show();
}

void loop() {
  bool pressed = digitalRead(BUTTON) == LOW;
  if (pressed && !wasPressed) running = !running;   // start / pause
  wasPressed = pressed;

  if (running && millis() - lastTick >= 1000) {
    lastTick = millis();
    if (seconds > 0) seconds--;
    else if (minutes > 0) { minutes--; seconds = 59; }
    else running = false;            // 00:00 - finished
    show();
  }
  delay(20);
}

چطور اجرایش کنم؟

  1. شبیه‌ساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
  2. از پنل «نمونه‌ها»، «تایمر معکوس با TM1637» را بارگذاری کن — مدار و کد با هم می‌آیند.
  3. دکمه‌ی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
  4. حالا کد را تغییر بده — عددها، پین‌ها، ترتیب — و دوباره اجرا کن!
این پروژه را رایگان در شبیه‌ساز اجرا کن 🤖