Часы на ESP8266

После одного проекта, который я делал на заказ, осталась одна плата. Платы заказывал в Китае, а китайцы обычно делают + 1 шт. к заказу. Проект делался для соревнований, устройство должно отсчитывать время с момента старта и до конца заезда. В качестве отображения информации используется шесть семисегментных индикатора. Индикация статическая, реализована на сдвиговых регистрах 74HC595. Точность хода обеспечивает DS3231. И управляет всем этим ATMega8. При разработке прототипа, для согласования с заказчиком окончательных размеров, выяснилось, что у меня не хватает двух семисегментных индикаторов. Необходимых мне по размеру индикаторов купить где-то рядом не было возможности, а времени на заказ через интернет-магазин не было. Поэтому пришлось забрать у отца термометр, который я ему когда-то делал используя такие же индикаторы, но пообещав, что потом соберу новый. Через некоторое время, проект был успешно сдан заказчику и после нескольких напоминаний о моем обещании, решил взяться за разработку улучшенной версии, теперь уже часы-термометр.

И так, взяв за основу данную плату, начал обдумывать будущее устройство.

  1. Будущие часы-термометр, должны отображать текущее время и температуру :)
  2. Иметь регулировку яркости "день-ночь", а следовательно и измерять текущее освещение.
  3. Настройка устройства должна быть максимально простой и осуществляться через веб-интерфейс.
  4. Получать текущую уличную температуру или другую информацию от сервера УД.
  5. Иметь возможность обновление по воздуху.

Из интерфейсов потребуется:

  1. SPI - для управления индикацией,
  2. I2C - для часов DS3231,
  3. ШИМ (pwm) - для регулировки яркости индикаторов,
  4. АЦП (adc) - для измерения текущего уровня освещения.

Исходя из своего же технического задания, решил  использовать в качестве "мозга" ESP8266. Его ресурсов вполне хватает для данной задачи, тем более написать прошивку и веб интерфейс, используя DoT, не составит большого труда.

Схема

Как я писал уже выше, заказывать плату я не стал, а использовал ту что была. По большей части все элементы и детали остались как есть, за исключением МК ATMega8 и некоторой обвязки по питанию.  ESP8266 приклеил на двухсторонний (толстый) скотч и навесным монтажом подключился к плате, так же установил недостающие детали. Что из этого вышло можно посмотреть ниже.

Плата

Веб интерфейс реализован в виде плагина для DoT, это существенно сокращает разработку ПО и будущую его поддержку с обновлением.

Web интерфейс 1
Web интерфейс 2

Настройки делятся на две страницы. Это основные настройки в DoT, где можно выбрать тип индикаторов (с общим анодам или катодом) и их количество, скорость бегущей строки и переназначить некоторые порты (i2c, latch). Так и имеет свою страницу, где можно изменить текущее время или яркость подсветки индикаторов (день | ночь), посмотреть текущий уровень освещения и задать при каком уровне будет происходить переключение яркости между днем и ночью.

GitHub

DIV NodeMCU esp8266
(0.0) / 0
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение. Все комментарии премодерируются.
0