
Интернет-магазин «Неглупый Дом»
Модуль часов реального времени DS1302 хранит точное время даже при перезагрузке Arduino, индикатор TM1637 показывает его, а активный зуммер включается в заданный час будильника.
#include <ThreeWire.h>
#include <RtcDS1302.h>
#include <TM1637Display.h>
ThreeWire myWire(4, 5, 2); // DAT, CLK, RST
RtcDS1302<ThreeWire> Rtc(myWire);
TM1637Display display(3, 6); // CLK, DIO
const int buzzerPin = 7;
const int alarmHour = 7;
const int alarmMinute = 0;
void setup() {
Rtc.Begin();
pinMode(buzzerPin, OUTPUT);
if (!Rtc.IsDateTimeValid()) {
Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__));
}
}
void loop() {
RtcDateTime now = Rtc.GetDateTime();
int h = now.Hour();
int m = now.Minute();
display.showNumberDecEx(h * 100 + m, 0b01000000, true);
digitalWrite(buzzerPin, (h == alarmHour && m == alarmMinute) ? HIGH : LOW);
delay(1000);
}
Время в модуль загружается один раз при первой прошивке (строка с `__DATE__`/`__TIME__`) — дальше DS1302 держит его сам от собственной батарейки CR2032.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 3 товара сразу в корзину: 237 ₽ 213 ₽ (экономия 24 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.