Часы на ESP8266

Опубликовано bondrogeen

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

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

 

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

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

 

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

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

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

 

Схема устройства получилась вот такой.

 

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

 

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

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

GitHub

 


3
Отправить ответ

avatar
1 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Antonchipbondrogeen Recent comment authors

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
newest oldest most voted
Notify of
Antonchip
Гость
Antonchip

Здравствуйте, собрал эти часы и хочу сообщить о некоторых проблемах. С индикаторами общий катод не работают, может чего то надо изменить в схеме, не знаю. Если смотреть по схеме то вход данных на 74НС595 должен приходить с правой стороны. Настройки плагина часов сохраняются, а вот самого веб сервера нет, хотел отключить авторизацию, не получилось. И хотелось чтобы на индикатор выводились секунды, подскажите где что поменять в коде, вывод секунд сделал но их обновление не происходит самостоятельно.