Таймер-часы на кухню

Тема в разделе "Глядите, что я сделал", создана пользователем IvanUA, 2 сен 2018.

  1. IvanUA

    IvanUA Гуру

    Обновление! Новая прошивка VZ_Timer_v1.1 (уже на гитхабе), там же схема.
    Основные функции:
    • управление таймером кнопками на устройстве и через приложение
    • часы с синхронизацией через интернет
    • создание точки доступа для первого подключения приложением
    • настройка всех параметров в том числе и подключения к сети WiFi
    • отображение полученного IP при подключении устройства к сети
    • температуру и влажность можно контролировать или из приложения или по MQTT
    Основой таймера является ESP-12 и экран TM1637.
    Модуль реального времени DS3231.
    Датчик температуры и влажности SI7021. Он же индикатор обновления данных
    между таймером и приложением.

    Приложение под Android VZ_Timer можно установить из Google Play
    [​IMG][​IMG]

    короткое виде здесь

     
    Последнее редактирование: 14 апр 2020
    sendsay, scl, kiv69 и 3 другим нравится это.
  2. kiv69

    kiv69 Гик

    Отлично, у жены как раз таймер на кухне накрылся, буду делать.
     
  3. kiv69

    kiv69 Гик

    IvanUA, а как в устройстве с обновлением времени? Вайфай включен постоянно или же засыпает и просыпается только для обновления? Периодичность обновления настраивается?
     
  4. Vovka

    Vovka Гик

    Что-то ссылок не увидел...
    Если таймер расположен возле вытяжки, то можно добавить управление ее вентилятором по разности температуры в вытяжке и на кухне
     
  5. kiv69

    kiv69 Гик

    A0 остался не задействован. Можно будет фоторезистор добавить в будущие прошивки.
     
  6. Airbus

    Airbus Радиохулиган Модератор

    Зачем?Чтоб не было свободных выводов?
     
    NikitOS нравится это.
  7. kiv69

    kiv69 Гик

    Ну а для чего он ещё нужен?
     
  8. IvanUA

    IvanUA Гуру

    У меня уже есть ЕСПшка на управление бойлером, вытяжкой и еще пару функций.
    Так вот вытяжка то как раз и включается по разности температур с датчика возле вытяжки и температуры получаемой с этого таймера через MQTT.
    Постоянно. Так как постит температуру и влажность на москито сервер.
     
  9. kiv69

    kiv69 Гик

    Сделал, запустил, буду тестить.
    Заодно надо корпус сделать
     
    Последнее редактирование: 19 окт 2018
  10. kiv69

    kiv69 Гик

    Пришлось только поправить скетч, чтобы на времени мигало двоеточие, а на таймере - точка после 2-ой цифры. А то, когда мигало и двоеточие, и все 4 точки, немного напрягало.
     
  11. kiv69

    kiv69 Гик

    Косяк в прошивке всё же есть.
    Не обновляется время.
    Сделал интервал обновления в минуту. В порт выводятся только точки, время не обновляется.
     
  12. IvanUA

    IvanUA Гуру

    Можете показать в каком месте правили?
     
  13. kiv69

    kiv69 Гик

    Тут забил свой вайфай :
    const char* ssid = "";
    const char* password = "";
    К роутеру коннект нормальный
    Поменял часовой пояс:
    byte timeZone = 3;
    Сделал обновление раз в минуту, чтобы увидеть, почему не обновляется:
    if(second==0) updateTime(); // Обновляем время один раз в сутки
    Настройки платы в аттаче.
    Исходники(ваши) :
    rtc.h размером 1456
    Timer_clock.ino размером 6142
     

    Вложения:

    • ct.png
      ct.png
      Размер файла:
      17,8 КБ
      Просмотров:
      566
  14. kiv69

    kiv69 Гик

    Обновил библиотеки ESP8266 до 2.4.1 - начало обновлять время.
    Как всегда, вся беда в версиях. Жаль, сразу не сообразил, угрохал кучу времени.
    Только косячок всё же вылез - в строчке:
    hour = hour + (timeZone + (1 * sommerZeit));
    По GMT0 прилетает 23 часа, а у меня при timeZone=3 и sommerZeit=0 получается 26 часов, что и выводится на дисплей :)
    В принципе, не критично, просто поставлю ежесуточное обновление на время до 20 часов.
    P.S. Всё же добавил строчку if(hour>23) hour = hour-24;
     

    Вложения:

    • yes.png
      yes.png
      Размер файла:
      3,7 КБ
      Просмотров:
      486
    Последнее редактирование: 24 окт 2018
    IvanUA нравится это.
  15. IvanUA

    IvanUA Гуру

    Спасибо, добавил в скетч.
    У меня все сделано так, что само двоеточие мигает когда показывает время, причем, если нет подключения к WiFi то они мигают быстрее))))
    Во время работы таймера мигают только цифры, двоеточие просто светится. Мне это показалось оптимальным. Таймер мигает, и периодически напоминает что ты там что то готовишь))))
    Точки после цифр я вообще не нашел как оживить на своем экранчике.
     
  16. kiv69

    kiv69 Гик

    У вас сделано так, что мигают все точки.
    Просто у вас, видимо, на экране активно только двоеточие. Есть экраны только с двоеточием, есть только с точками, есть с точками и двоеточием. Причём последние встречал двух типов - двоеточие подключено параллельно второй точке и двоеточие подключено вместо 4 точки, а она неактивна.
    У меня былэкран последнего типа, но в процессе погас g сегмент 3 цифры, пришлось поставить только с точками. Для него активировал точку после второй цифры на времени, а таймер не трогал:
    void displayTime(){
    tm1637.point(0);
    tm1637.display(0,hour/10);
    tm1637.point(flash);
    tm1637.display(1,hour%10);
    tm1637.point(0);
    tm1637.display(2,minute/10);
    tm1637.display(3,minute%10);
     
  17. kiv69

    kiv69 Гик

    Ну всё, закончил упаковку в корпус, завтра повешу на кухне.
    Большое спасибо Ивану за разработку сего замечательного девайса.
    viber image.jpg
     
    IvanUA нравится это.
  18. IvanUA

    IvanUA Гуру

    Последнее время очень часто таймер - вернее часы, начали просто зависать...
    Думаю что это стало происходить из-за уж очень частых обращений к модулю RTC.
    ....
    В версии 2:
    - время считается самой ЕСП по вызову таймера;
    - синхронизация времени с интернетом происходит каждый час;
    - во время синхронизации обновляется и время в модуле RTC;
    - если нет соединения с wifi, то время берется из модуля RTC.

    Версия 2 доступна на Github
     
    sendsay нравится это.
  19. kiv69

    kiv69 Гик

    Вряд ли. Я в своих конструкциях делал до пяти чтений в секунду из DS3231(стандартная платка под 28-пиновый PIC у меня сразу разведена с местом под ИМС DS3231, поэтому DS3231 практически в любой конструкции имеется - в отличие от таймеров МК, DS3231 очень удобно использовать для точного отсчёта длинных отрезков времени). И ни разу не было никаких проблем.
    А вот в китайских модулях(использовал те, которые с 24С32) примерно каждый третий был проблемный - или непропай, или флюс не смыт.
    Китайцы вообще не заморачиваются с качественной отмывкой от флюса, поэтому любую их плату всегда перемываю, иначе рано или поздно вылазят проблемы.
    Если раньше всё работало, то проблема явно не в прошивке.
    У меня таймер как включил на кухне, так с тех пор работает идеально.
     
  20. Vovka

    Vovka Гик

    А зачем постоянно теребить модуль?
    Лично я всегда делаю так: по включению питания считываю время из модуля, а потом программные часы по прерыванию таймера. Раз в сутки считываю время из модуля.