Надежные часы на Arduino с датой, временем и LCD-дисплеем
Компоненты и материалы
| Arduino UNO | × | 1 |
| LCD 16x2 (белый на синем, Adafruit) | × | 1 |
| I2C-модуль для LCD | × | 1 |
| Модуль реального времени (RTC) | × | 1 |
| Тактильные кнопки 12 мм (SparkFun) | × | 3 |
| Резистор 10 кОм | × | 3 |
| Перемычки (набор) | × | 1 |
О проекте
Введение
Эти часы — база для многих моих проектов. Вдохновился другом, опубликовавшим урок в 2012 году. Простые часы с LCD-дисплеем, модулем RTC (real time clock) и тремя кнопками. Для экономии пинов Arduino использовал дисплей с I2C-модулем. RTC также работает по протоколу I2C.
Три кнопки, подключенные по схеме «pull down» (подтяжка к земле), служат для настройки времени и даты без перепрошивки Arduino.
Схема очень проста:
LCD и RTC общаются с Arduino по I2C через библиотеку Wire, подключены к пинам A4 (SDA) и A5 (SCL):
- SDA — A4
- SCL — A5
Библиотеки:
- Wire.h (входит в Arduino IDE)
- RTClib.h
- LiquidCrystal_I2C.h
Код:
Код прост: в loop() проверяется нажатие кнопки «меню». Если не нажата — отображаются дата и время. Если нажата — считается количество нажатий и через последовательные меню корректируются часы, минуты, день, месяц, год. В конце RTC обновляется новыми данными и экран показывает актуальную дату и время.
Проект также опубликован на Instructables.
Код
Clock Set Date Time
(Код доступен в репозитории проекта)
Схемы


simple_clock_uOb2RxCa71.fzz (файл Fritzing)
Производственный процесс
- Получение текущей даты и времени в Python: практическое руководство
- Обеспечение своевременного производства новых вакцин и биологических препаратов
- Ретро-часы на индикаторах Numitron с Arduino: просто, надёжно, экономно
- Работа с датой и временем в Java: Date, SimpleDateFormat, printf, GregorianCalendar
- Полное руководство по дате и времени в C++
- Java 8: Новый надежный Date/Time API — Полное руководство
- Работа с датами и временем в Python: Практическое руководство
- Точные словесные часы: отображение времени в словах с точностью до минуты
- Монитор температуры и реальные часы на Arduino Due с TFT-дисплеем 3.2"
- Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код