Подписчик моего сайта Анатолий К. любезно прислал свой проект часов, созданных на основе модуля Esp8266 NodeMcu v3(LoLin) и модулей RTC DS3231 и TM1637. Изюминка этого проекта в том, что эти часы могут синхронизировать время по Wi-Fi.
Публикация этого проекта в разделе Arduino, но нужно учитывать, что данный проект основан на несколько иной платформе.
Здравствуйте, уважаемые читатели!
Как ни странно, на создание сего девайса меня cподвигло приобретение 3D-принтера.
Появилась возможность делать стильные корпуса для различных электронных устройств на любой вкус и цвет. А для хорошего корпуса нужна и хорошая начинка. Было решено сделать часы с разрядами секунд, чтобы было видно как утекает время. Ну и без подключения к интернету современному устройству уже не обойтись. Да и Web-интерфейс не помешает, так как уже у детей есть смартфоны и планшеты. Работа шла трудно, пришлось осваивать SolidWorks и Simplify3D. Очень долго отлаживал программу, так как хотелось стабильной работы устройства - чтобы время не сбивалось при отключении питания, отключении интернета или сети WiFi и прочих нехороших событиях. Было собрано десяток экземпляров часов - в течение полугода все они сломались работали без сбоев и после долгих уговоров разошлись по друзьям и знакомым.
При первом включении необходимо при помощи Web-интерфейса ввести данные Вашей WiFi сети - название и пароль. Берем планшет или смартфон и читаем инструкцию - как сделать. Я думаю - это просто невозможно очень легко! Главное, чтобы в данный момент интернет был оплачен и кот на полу не грыз антенну от роутера. Далее часы перезагружаются и тикают сами не требуя вмешательства человека (только необходимо через несколько лет поменять батарею в RTC ). Да, еще если надо рано утром проснуться после встречи с друзьями тяжелой работы, надо понажимать пару кнопок и включить будильник.
Схема часов приведена ниже на картинке. Как указывалось выше, схема собрана не на основе Arduino, а на основе модуля NodeMcu v3(LoLin), в котором используется микроконтроллер Esp8266. Такой подход позволяет достаточно просто подключиться к сетям WiFi, чтобы использовать функцию синхронизации времени часов. Индикация осуществляется семисегментными индикаторами, которые управляются специализированной микросхемой TM1637. Модуль DS3231 имеет высокую точность поддержания времени. К порту A0 подключен фоторезистор, с помощью которого производится регулировка яркости индикаторов в зависимости от освещённости. Питается схема часов от сети ~220В через модуль питания с выходным напряжением +5В.
Часы собраны на модуле NodeMcu v3 (LoLin) с микроконтроллером ESP8266, модуле RTC DS3231 (не забываем вставить батарейку), микросхеме TM1637 и семисегментных индикаторах GNS15011 и KEM1106. Блок питания использован готовый — S-10-5. Конструктивно все это расположено на 3 печатных платах — блок микроконтроллера, блок индикации и блок управления. Плата индикации — двухсторонняя, остальные — односторонние. Между собой блоки соединяются посредством разъемов и соединительных шлейфов. Также на разъемах установлены Buzzer, фоторезистор и сигнальный светодиод. Все это монтируется в корпусе часов вместе с блоком питания, предохранителем и сетевым разъемом. Модули и семисегментные индикаторы установлены в панельки. Индикаторы закрываются прозрачным акрилом толщиной 1 мм, который вклеивается в переднюю часть корпуса. Сам корпус выполнен из пластика и напечатан на 3D-принтере.
Программа для часов написана в среде Arduino IDE и снабжена достаточным количеством комментариев для понимания ее работы. Для корректной работы с семью-семисегментными индикаторами пришлось внести изменения в стандартную библиотеку <TM1637.h>. Изменённая библиотека <TM1637_AH.h> в полном архиве (см. Приложение
). Перед заливкой скетча в плату NodeMcu желательно удалить содержимое flash - памяти ESP8266. Программа будет работать только при полностью собранной схеме.
Инструкция для управления часами находится Приложении
в полном архиве в файле: Часы с синхронизацией времени по WiFi.docx
.
Все, что необходимо для повторения конструкции, включая файлы для печати 3D можно скачать по ссылке:
Спасибо всем, кто смог дочитать до конца! УДАЧИ!