Будильник по времени
Светодиод загорается в заданную минуту: время модуля задаётся двойным кликом.

Что понадобится
- Arduino Uno
- RTC DS1307
- Резистор (220 Ом)
- Светодиод (красный)
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | 5V | → | RTC DS1307 | 5V |
| Arduino Uno | GND | → | RTC DS1307 | GND |
| Arduino Uno | A4 | → | RTC DS1307 | SDA |
| Arduino Uno | A5 | → | RTC DS1307 | SCL |
| Arduino Uno | D8 | → | Резистор | 1 |
| Резистор | 2 | → | Светодиод | A |
| Светодиод | C | → | Arduino Uno | GND |
Скетч
#include <RTClib.h>
// Будильник: в заданные минуту и секунду зажигаем светодиод на 5 секунд.
// «Время при старте» модуля задаётся двойным кликом по DS1307.
RTC_DS1307 rtc;
const int ALARM_MINUTE = 0; // любая минута, у которой…
const int ALARM_SECOND = 30; // …идёт 30-я секунда
const int LED = 8;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
rtc.begin();
}
void loop() {
DateTime now = rtc.now();
bool ring = (now.second() >= ALARM_SECOND && now.second() < ALARM_SECOND + 5);
digitalWrite(LED, ring ? HIGH : LOW);
Serial.print(now.hour()); Serial.print(":");
Serial.print(now.minute()); Serial.print(":");
Serial.print(now.second());
Serial.println(ring ? " ЗВОНОК" : "");
delay(1000);
}
Коротко о детали: RTC DS1307
Модуль часов реального времени: считает секунды сам, переживая перезагрузку платы, — в железе за это отвечает батарейка. Подключается по I2C и читается библиотекой RTClib. Время при старте задаётся двойным кликом; пустое поле означает часы компьютера.
Ещё примеры с деталью «RTC DS1307»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Будильник по времени» в симуляторе