Часы на esp8266 и tm1637 с синхронизацией времени через интернет

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • Расширяем функционал часов на ESP8266 и TM1637 с синхронизацией с NTP сервером через интернет, (про них тут • Часы на ESP8266 и TM16... ) и добавляем RTC PCF8563 чтобы избавится от основных недостатков часов прошлой версии.
    🐾железки на али:
    ESP8266 - alii.pub/5w7znw
    PCF8563 - alii.pub/5w7zp2
    TM1637 - alii.pub/5w7zq8
    🐾Код тут в низу arduinolab.pw/i...
    🐾Возможность поблагодарить автора рублем.
    www.donationale...

Komentáře • 77

  • @SIM31r
    @SIM31r Před 6 lety +4

    При наличии точного времени, можно сделать автоматическую коррекцию кварца. Например если у нас часы отстают на 10 секунд в сутки, запоминаем погрешность и корректируем часы на лету. Постепенно, когда режим работы установится, то и сервер точного времени не нужен будет, часы сами настроятся на точность такую, что месяцами смогут работать без коррекции. Заодно дома будет образцовый сигнал частоты.
    Хотя с GPS лучше, источник образцовой частоты делают, там по сути тоже берут сигнал 1 Гц с выхода приемника GPS, сутками по фазе корректируют домашний термостабизизированный кварц, и автоматически и постепенно он становится образцовым, что-то вроде ошибка 10-12 степени, самый точный прибор в домашних условиях. Остальные приборы и близко к такой точности не подойдут.

  • @spajalnikom
    @spajalnikom Před 6 lety +4

    Лайк за труды.Классный проект.

  • @vasiliyhotovchik
    @vasiliyhotovchik Před 6 lety +2

    Творческих успехов. Esp тема интересная.

  • @Dobriybelk
    @Dobriybelk Před 3 lety +1

    Весьма любопытный проект. Не хватает схемы соединений всего вместе в версии с RTC.

  • @vtech8716
    @vtech8716 Před 6 lety +13

    Да, часики это такая тема, что их можно постоянно улучшать.

  • @user-zu9gt1rs7r
    @user-zu9gt1rs7r Před 6 lety

    Отлично! Спасибо за код. Только RTC на nextion подводить буду.

  • @user-eb3fe3yv1s
    @user-eb3fe3yv1s Před rokem

    Тут с 24 до 10 часов можно убрать не задействованный 0 на первом месте если заменить его на число 48 то сегмент не светится. Пример 2:45 вместо 02:45

  • @evlogiy
    @evlogiy Před 6 lety +5

    «Даже продолжают работать, что странно...»

  • @dalexbor
    @dalexbor Před 2 lety

    Огромное спасибо автору! Переделал скетч для ds3231: drive.google.com/file/d/1_tg9RW2YYU3_nPMFuFhU6DmIE02tFpkP/view?usp=sharing. Проблемы: 1. Макетка для ESP8266 - ESP втыкается наоборот чем в программатор) 2. Версию плат в ide выбрал 2.77 т.е. не последнюю -были проблемы. 3. Библиотека для TM1637 Grove_4-Digit_Display, для DS3231 взял Andrew Wickert. 4. Отладку проще делать на NODEMCU

  • @vladimir3477
    @vladimir3477 Před 6 lety +1

    rtc это конечно интересно, и работать будет без интернета, но как вариант есть такая либа #include , я с ее помощью сделал если даже не прошла синхронизация ничего страшного, главное при старте получить время

    • @user-zu9gt1rs7r
      @user-zu9gt1rs7r Před 6 lety

      Vladimir так-то и без этой либы и rtc часы делал.))))

  • @user-rd8jk9hi4b
    @user-rd8jk9hi4b Před 6 lety +3

    Уважаемый автор! Недавно тоже делал себе часы, но на модулях MAX7219. В результате разных исследований выяснилось, что SDK Arduino для ESP8266 уже содержит в себе все необходимое для работы со временем.
    Написал для своих часов простую библиотеку, предлагаю ее тем, кто также делает часы на ESP8266.
    Вот ссылка на библиотеку: github.com/OlegReshetnik/ESP8266_Libraries/tree/master/TimeLib
    Работать с библиотекой очень просто:
    #include
    TimeLib tt;
    Serial.print ( tt.tmDate() ); Serial.print ( tt.tmTime() );
    !!При этом в скетче должно быть установлено соединение с Интернет.
    Вместе с библиотекой есть подробный пример.

  • @UUTechRU
    @UUTechRU Před 6 lety +6

    зачем rtc ?? у нее собственный нормальный. коррекция времени через нтп раз в сутки вполне достаточно. у меня чсы без проблем работают от родного ртц

    • @The-Digital-Mind
      @The-Digital-Mind Před 6 lety +3

      Предполагаю, для того, что когда отрубается питание,
      а потом врубается - было время,
      в случае отсутствия соединения с инетом.
      А постоянно питать ЕСПшку, когда нет питания, смысла нет, она сильно прожорлива.
      А в режиме сна она время считать не будет.

    • @SIM31r
      @SIM31r Před 6 lety +1

      Проще тогда добавить батарейку литий ионную, микроконтроллер потребляет пусть 1 мА (только не на 16 МГц, а на распространенном кварце от телевизора что-то вроде 3.ххх МГц, так экономичней по питанию, кварцы на 1 МГц дефицитные, на Алиэкспрессе их вообще нет)
      Батарейки формата ААА на 1000 мАч хватит более чем на месяц. Причем часы можно попросить показать время кнопочкой.
      Или вообще не заморачиваться, при появлении питания часы сами настроятся, если на ночь отключат питание, утром пользователь может вообще не заметить что питание отключали.

    • @The-Digital-Mind
      @The-Digital-Mind Před 6 lety +1

      Уважаемый Сергей, вроде бы Вы и понимает о чём говорите,
      Вы уверены что Вы правы?
      Складывается ощущение, что Вы пропустили название МК.
      То, что Вы написали, применимо к атмега328....
      Какой кварц на 3.ххх или 1 мгц?
      Вы лично пробовали ставить пониженные кварцы на данный МК?
      Речь идёт о esp8266.
      У которого кварц на 26мГц, тактовая либо 80 либо 160 мгц,
      Вы уверены, что при замене кварца, останется рабочим WiFi радиомодуль.
      Который очень сильно привязан к частоте, ко времени срабатывания своих прерываний.
      У которого наивысший приоритет на прерывания
      и который плевать хотел на пользовательские задачи,
      когда есть задача принять или передать данные.
      У WiFi стандартов есть стандартные протоколы и что-то мне подсказывает,
      что у ESP с урезанным кварцем просто не хватит ресурсов обработать приходящие\уходящие данные.
      И в данной поделке ESP используется потому,
      что в нём вообще то встроенный WiFi,
      А WiFi нужен, он решает все проблемы с коммуникацией часов с интернетом и NTP.
      и жрёт ESP далеко не 1 мА, и даже не 100 мА в пике.
      Поэтому "время кнопочкой" конечно возможно, но
      там светодиоды потребляют мизер по сравнению с МК в пиковом режиме.
      Только один вариант, запитывания от аккума и "время по нажатию кнопки":
      пускать МК в спячку и по нажатию кнопки "показать время"
      привязанной к аппаратному прерыванию,
      будить мк,
      читать время из чипа RTC,
      показать на дисплее и опять заснуть.

    • @SIM31r
      @SIM31r Před 6 lety +1

      Да я написал про Atmega 328.
      У ESP32 например есть сопроцессор, который можно настроить так чтобы модуль микроамперы потреблял, постоянно на связи с WiFi ему не нужно быть, только раз в сутки на несколько секунд. Про ESP8266 не знаю, он наверное слишком примитивен, но можно поставить Atmega 328 чтобы отключал этот модуль полностью, получил информацию о времени и он больше не нужен.
      Тут конечно смысла экономить энергию нет, так как индикаторы не экономичные и не было такой идеи у автора. Но немного допилив проект, можно сделать его на батарейном питании, поставить ЖК экран или E-paper (дорогая зараза 20$ но красиво смотрится), и ESP32 в режиме энергосбережения, чтобы раз в минуту просыпался, обновлял экран и далее спать.

  • @veoramid
    @veoramid Před 4 lety

    О. И у меня как то выскочило 45 часов 85 минут :)
    Потом я взял более другую библиотеку в которой явно указывался адрес и она заработала.

  • @user-sc8ye9qj5e
    @user-sc8ye9qj5e Před 6 lety

    Функция sync() в сетапе явно не всегда синхронизирует часы при запуске. А вернее - почти никогда. Наверное, надо там через тоже while() делать, как подключение к WiFi? И ещё нюанс - указанный в видео сервер у меня почему-то выдает ошибку в минуту- полторы(!). А тот сервер, который закомментирован, как раз работает точно.

  • @dmitrimator1099
    @dmitrimator1099 Před 6 lety

    Здравствуйте. Vожете сделать обзор на микросхему AD9833 генератор частот.

  • @Dancopymus
    @Dancopymus Před 3 lety

    Greetings arduinoLab
    I have three TM1637 0.56" Displays and I've tried with ESP8266 Nodemcu with various codes but it doesn't work at all; someone says it's a power problem on the CLK and DIO pins but I can't; do you know about this and do you have any tips? Thanks

  • @HawkBDT
    @HawkBDT Před 5 lety +1

    Хотелось бы увидеть версию скетча с модулем DS3231, заранее спасибо!

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 Před 5 lety +1

      Вот смастерил пользуйся : czcams.com/video/de5mwv23PgY/video.html

  • @user-fc2ju4cu3w
    @user-fc2ju4cu3w Před 6 lety +1

    I²C какой командой переназначаете ?

  • @evgenyzyatkov1193
    @evgenyzyatkov1193 Před 6 lety +1

    ru.pool.ntp.org для RU и будет Вам счастье. оно там на разные сервера и списка ссылается. Можно ua.pool.ntp.org, если для UA.

    • @TheMyavr
      @TheMyavr Před 6 lety

      Evgeny Zyatkov дякую

  • @TEENASPECT
    @TEENASPECT Před 6 lety

    атмеги мало. Подскажите, на что лучше переходить, на есп или на стм?

  • @TheWladberlin
    @TheWladberlin Před 4 lety

    Можно ли в ардуинке, без каких либо серверов, синхронизировать время с компьютером?

  • @user-zs1qi1pf6u
    @user-zs1qi1pf6u Před 2 lety

    Уже год тикают. Только немного по своему. Ночью яркость на минимум а утром переключаются на максимум

  • @nikitenkosl
    @nikitenkosl Před 6 lety +2

    А нельзя сделать с коррекцией по gps?

    • @UUTechRU
      @UUTechRU Před 6 lety

      да там можно не корректировать а тупо гнать поток )

    • @nikitenkosl
      @nikitenkosl Před 6 lety

      Ilya Pupkin можно, но gps сигнал не всегда бывает доступен.

  • @sergey171061
    @sergey171061 Před 4 lety

    Часы хорошие, без сомнений. Но хотелось бы заменить PCF8563 на DS3231. Но как заменить его в скетче? По честному скажу, пытался, но не получается. Может поможете???

    • @veoramid
      @veoramid Před 4 lety

      У меня пошел код из этого примера: arduinolab.pw/index.php/2015/12/05/chasy-na-digispark-i-7-segmentnom-indikatore/#more-215

  • @shadowplayInc
    @shadowplayInc Před 5 lety

    А почему не пользуетесь OTA?

  • @sergey171061
    @sergey171061 Před 5 lety

    Всё классно, но нет схемки соединения всех блоков в одно целое. Может добавите в статье описания на arduinolab.pw/index.php/2016/08/03/chasy-na-esp8266-i-tm1637-s-sinxronizaciej-s-ntp-serverom-cherez-internet/

  • @Perepodvyvert_s_perevorotom

    Плёнку зря содрали. Черным маркером замазать сегменты и не надо будет рукой прикрывать, чтобы цифирь увидеть.

  • @vbulynkin
    @vbulynkin Před 5 lety

    Здравствуйте!
    Спасибо за концепт и код, но не могли бы вы подсказать, как подключать PCF8563 к ESP8266? А то на сайте есть только подключение дисплея, а на видео используются вообще другие детали.

    • @arduinoLab
      @arduinoLab  Před 5 lety

      как любые другие часы, к I2C.
      в коде указаны ноги
      #define SDA 0
      #define SCL 2
      можно менять на другие.

    • @vbulynkin
      @vbulynkin Před 5 lety

      Спасибо, но экран теперь вообще не светится. Пробовал код отсюда - czcams.com/video/Oege0dtduHo/video.html - на дисплее горит 45:-5 и ничего не происходит. Пробовал "улучшенную" версию кода из первого комментария оттуда - на часах вечно мигает 17:19.
      При этом код без использования часов реального времени работает.

  • @MrSasha3050
    @MrSasha3050 Před 6 lety

    Чем pcf8563 вам больше нравится?

    • @arduinoLab
      @arduinoLab  Před 6 lety

      сказал же, он работает от 3,3 вольт, DS1307 нет.

  • @komikx112
    @komikx112 Před 6 lety +1

    Да блин, это уже скучно, часы , часы, ... Может уже Esp32 под обзор и остальные фишки рассмотрим ..??

  • @user-wj4pt6st9w
    @user-wj4pt6st9w Před 9 měsíci

    У меня нету pdf8563

  • @kozyrevslava8235
    @kozyrevslava8235 Před 6 lety

    А как на счет отловить глюки с DS3231+TM1637+ntp и дать всему миру лекарство (точные часы синхронизируемые по нтп)?

    • @kozyrevslava8235
      @kozyrevslava8235 Před 6 lety

      yadi.sk/d/q1o197WaT4Lgzg

    • @kozyrevslava8235
      @kozyrevslava8235 Před 6 lety

      это борьба с ошибкой 45:-5 что вылазит при ногодрыгании ds3231

  • @user-cx3jm5lq7b
    @user-cx3jm5lq7b Před 6 lety +3

    Сделай лучше будильник с синхронизацией со смартфоном

    • @basilstadnik1342
      @basilstadnik1342 Před 6 lety +2

      конечно функция будильника не помешала бы

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 Před 6 lety +3

      Виктор Томенко ,поддерживаю просьбу, и чтобы свет плавно включал.

    • @SIM31r
      @SIM31r Před 6 lety +4

      А смартфон сам не будильник что-ли? Смысл делать примочку для смартфона, если сам смартфон и есть будильник. Для эстетов есть браслет будильник, синхронизированный со смартфоном.

    • @SomeRandomPerson163
      @SomeRandomPerson163 Před 6 lety

      Сергей Моск
      Ну если так рассуждать то и часы не нужны если смартфон есть ;) Но люди всё равно покупают будильники

    • @user-cx3jm5lq7b
      @user-cx3jm5lq7b Před 6 lety

      Ну я имел ввиду чтобы при запуске будильника светодиодная лента включались плавно(как солнце) думаю это была бы классная идея

  • @jutiubi
    @jutiubi Před 6 lety +1

    здесь www.pool.ntp.org/zone/europe есть список NTP серверов. может уже не актуально?

    • @TheMyavr
      @TheMyavr Před 6 lety

      jutiubi актуально, спасибо

  • @aleshep
    @aleshep Před 6 lety

    "Расширяем функционал часов" -- вы функционал перепутали с функциональностью. ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB

  • @drummermistery
    @drummermistery Před 5 lety

    на LCD1602 можно переделать?

    • @arduinoLab
      @arduinoLab  Před 5 lety

      я не против.

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 Před 5 lety +1

      Вот смастерил пользуйся : czcams.com/video/de5mwv23PgY/video.html

  • @user-no1rx9oj8l
    @user-no1rx9oj8l Před 6 lety +1

    Зачем такие заморочки нужны, не проще ли сделать часы на wifi-iot.com

    • @basilstadnik1342
      @basilstadnik1342 Před 6 lety

      про этот сайт мы знаем , ты конкретный пример покажи , прошивку дай

    • @user-no1rx9oj8l
      @user-no1rx9oj8l Před 6 lety

      У меня часы собраны на ESP-07, led матрицах, bmp 180 с прошивкой wifi-iot и отправкой данных с датчиков на narodmon.ru и majordomo.

  • @Strelok021
    @Strelok021 Před 6 lety

    Так а за код забыли? Или как? А то уже детали приехали

    • @arduinoLab
      @arduinoLab  Před 6 lety

      arduinolab.pw/index.php/2016/08/03/chasy-na-esp8266-i-tm1637-s-sinxronizaciej-s-ntp-serverom-cherez-internet/ внизу

  • @valerachaser9643
    @valerachaser9643 Před 6 lety

    у меня редко останавливаются.

    • @arduinoLab
      @arduinoLab  Před 6 lety

      это недавно, с блокировками телеграмма началось.

    • @UUTechRU
      @UUTechRU Před 6 lety +2

      пользуйтесь нашими ntp серверами. вон в Менделеево (Около Зеленограда) ядерные часы есть. у них 4 сервака своих со своими айпишникаи ntp1.vniiftri.ru ntp1.niiftri.irkutsk.ru vniiftri.khv.ru

    • @YuriyIY
      @YuriyIY Před 6 lety

      Можно еще проще сделать. И не надо добывать адреса по форумам. Адрес ru.pool.ntp.org, вас пошлёт или на ближайший, или на самый свободный. В списке 109 серверов. Возможно, стратумы будут разными. Но, для клиента, это не особо и важно.

  • @alekseykirillov2359
    @alekseykirillov2359 Před 4 lety

    зачем в этом проекте использовать бредборд?

    • @arduinoLab
      @arduinoLab  Před 4 lety

      а как надо?

    • @alekseykirillov2359
      @alekseykirillov2359 Před 4 lety

      @@arduinoLab что помешало напрямую в гребенку контроллера проводки воткнуть?

    • @arduinoLab
      @arduinoLab  Před 4 lety

      это прям такая принципиальная разница?, думал вопрос, чего сразу не на плате...

    • @alekseykirillov2359
      @alekseykirillov2359 Před 4 lety

      @@arduinoLab да и ладно, так в глаза бросилось.
      Тут другой вопрос есть. Заготовки, для большого проекта делаю. Одна из них это часы реального времени. По этой причине и смотрел твой видос.
      Цель - иметь в системе актуальные int Date, Month, Year, Hour, Minute, Second
      Модули - esp8266, ds3231.
      В твоём проекте нет даты. Я не програмер, писать парсер свихнусь. Високосные года, февраль и прочее.
      Есть наработки по этому вопросу?

  • @michael74rus43
    @michael74rus43 Před 6 lety

    Осталось вывести температуру на улице и получится хороший девайс на окно;)

    • @SIM31r
      @SIM31r Před 6 lety

      Есть способ проще, без датчика температуры wifi-iot.com/p/wiki/31/ru/

    • @michael74rus43
      @michael74rus43 Před 6 lety

      Сергей Моск так датчик и не нужен у нас же esp