⏲️ تایمر معکوس با 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);
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «تایمر معکوس با TM1637» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!