Часы на Arduino с TFT-дисплеем и RTC

Автор Instructables под ником Lacybad сделал часы на Arduino, выводящие на TFT-дисплей пиксельным шрифтом дату, время, день недели и даже своё краткое описание длиной в одну строку. Благодаря RTC-модулю на DS1302 с батарейной поддержкой, можно отключать питание часов, выходя из дома. Яркости подсветки дисплея достаточно для работы в качестве ночника, который поможет не споткнуться в темноте.

RTC-модуль, применённый в часах, сравнительно недорог, а также хорошо приспособлен для работы с Arduino. Он удобнее модулей на DS3231, 1307, подключаемых по шине I2C.

У модуля на DS1302 пять выводов: питание, общий провод, сброс, тактовые импульсы, данные. Первые два мастер подключил к соответствующим шинам Arduino, оставшиеся три можно соединить с любыми линиями обмена цифровыми данными, Lacybad выбрал следующие: 10 — сброс, 11 — данные, 12 — тактовые импульсы.

Из-за отсутствия температурной компенсации этот модуль не очень точен, при комнатной температуре за месяц набирается ошибка в две-четыре минуты. Но корректировать время можно при помощи Arduino IDE, это значительно быстрее, чем делать то же самое кнопками, как у большинства других цифровых часов.

Ниже показаны модули, необходимые для сборки часов. Это описанный выше RTC-модуль, а также перемычки «дюпон», Arduino Uno (Mega и т.п.) и 2.4-дюймовый TFT-дисплей на микросхеме ILI9325.

Разработчику попался не такой дисплей, как на этом фото, а с пиктограммами внизу (теперь — сбоку), изначально предназначавшийся для поддельных телефонов NOKLA. Но когда они вышли из моды, их решили не снимать с производства, а вместо этого нашли новый рынок сбыта — ардуинщиков. Купить такой дисплей теперь можно как отдельно, так и в комплекте переходной платой, превращающей его в шилд, что и сделал мастер. Ну а модуль RTC он подключил перемычками «дюпон» (см. выше, что куда подключать). Можно и просто припаять обычные провода.

Скачав написанный разработчиком скетч, необходимо раскомментировать в нём следующие строки:

//rtc.setDOW(FRIDAY);

//rtc.setTime(17, 15, 00);

//rtc.setDate(15, 3, 2018);

Заменить в них время и дату на текущие с небольшим опережением, залить скетч в Arduino, затем закомментировать эти строки обратно и залить тот же скетч ещё раз. При каждой необходимости корректировки эти операции нужно повторить.

Часы работают:

Но пока только «в принципе». А надо, чтобы в корпусе. Каким он будет, зависит от вас.

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями: