Будильник по времени

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

Средний уровень Arduino Uno C++
Схема подключения: Будильник по времени
Схема в симуляторе. Нажмите «Открыть в симуляторе», чтобы запустить её и поменять.

Что понадобится

Как подключить

ОткудаКуда
Arduino Uno5V→RTC DS13075V
Arduino UnoGND→RTC DS1307GND
Arduino UnoA4→RTC DS1307SDA
Arduino UnoA5→RTC DS1307SCL
Arduino UnoD8→Резистор1
Резистор2→СветодиодA
СветодиодC→Arduino UnoGND

Скетч

#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»

Попробуйте сами

Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.

Открыть «Будильник по времени» в симуляторе