Часы на esp8266 и max7219 + android управление

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

?

Вы повторили это проект?

  1. Нет (просто ознакомился)

    35 голосов
    13,2%
  2. Да, один раз (попробовал)

    111 голосов
    41,9%
  3. Да, не однократно

    123 голосов
    46,4%
Можно выбрать сразу несколько вариантов.
  1. jgupdimon

    jgupdimon Гик

    Вот скетч
     

    Вложения:

  2. IvanUA

    IvanUA Гуру

    Перезалил скетч.
    Добавил еще выключателей.
    Теперь через веб можно выбирать какой датчик использовать (у меня они стоят оба))).
    При использовании Si7021 - влажность отображается на экране и если включен MQTT - то и публикуется на сервере.
    Ну и немного оптимизировал логику вывода данных на экран)))))

    Отображение данных в КОМ порте теперь можно включать и отключать из веб морды.
     
  3. jgupdimon

    jgupdimon Гик

    А сам скетч то можно увидеть?
     
  4. IvanUA

    IvanUA Гуру

    В первом сообщении.
    Версия от вчерашнего числа)
     
  5. jgupdimon

    jgupdimon Гик

    Дак вот превел и ошибка.
     
  6. jgupdimon

    jgupdimon Гик

    Иван, посмотри, что не так?
     
  7. IvanUA

    IvanUA Гуру

    Если бинарник льется и работает, то обновите библиотеки
     
  8. jgupdimon

    jgupdimon Гик

    Скетч проверку не проходит
     
  9. Estet

    Estet Нуб

    Снимок.PNG
    справа твой, слева оригинал, видно разницу
    Снимок1.PNG
    вверху оригинал, ниже то что ты добавил
    поправь как надо и всё будет работать
     
    Последнее редактирование: 7 апр 2018
  10. IvanUA

    IvanUA Гуру

    А вы простите как архив распаковываете?
    В папке после распаковки Все такие же файлы?
    Или вы только один файл распаковываете?

    [​IMG]
     
    Последнее редактирование: 7 апр 2018
  11. Sandr

    Sandr Гик

    Добрый день Иван!! Подкорректировал под себя скетч от 5.21 от Денискина с Народ Моном.
    Погода обновляться c 47 секунды на15-й и 45-й минутах в упор не хотела. Это видно было по монитору порта. Я вставил ваш кусок в скетч и разбил это время на 4 части : 00;15;30;45 минут. ну и естественно строчки внизу тоже подправил. Ни в одном промежутке так и не было обновления.
    И это со скетчем у которого вставлен Наро Мон. Другой скетч без него обновлялся. Тогда я убрал один город к чёрту. Поставил с 42 секунды каждые 00;15;30;45 минут и оставил один город, то обновления стабильно начали проходить на 30 и 00 минутах. У меня с одним городом он отработал 3 дня нормально я его через монитор порта гонял всё обновлялось,всё работало КАК ЧАСЫ,. Всё бы хорошо только стоило мне подправить кое что и обновить его так началась такая чехарда.
    При включении сразу начинает светиться полная дата, которая ночью после отключения отображения прогноза погоды в вперемежку с часами включается. А сейчас и через неё проглядывают часы, которые должны вместо даты работать, дальше температура с Народ Мона и нормальная бегущая строка. Подскажите пожалуйста где надо подправить что бы сдвинуть время отображения даты, что бы вместо них работали часы.? Если найдёте время конечно.
     
  12. IvanUA

    IvanUA Гуру

    Попробуйте залить последний скетч. Там я практически полностью переделал процедуру отображения даты, времени и температуры... Если будет все работать нормально, то сличайте два блока кодов и правьте свой под новый.
     
  13. Sandr

    Sandr Гик

    Первую версию пол дня гоняю. Всё работает и обновляется. По монитору порта слежу.
    Сейчас последнюю закатаю и понаблюдаю.
     
  14. jgupdimon

    jgupdimon Гик

    Всё, спасибо, сам накосячил.
     
  15. IvanUA

    IvanUA Гуру

    Что хоть было то?
     
  16. Sandr

    Sandr Гик

    Так покажите с какого места пож. Я так и делаю.
     
  17. IvanUA

    IvanUA Гуру

    В смысле где поменял?
    Если так то почти везде)))))
    А так весь алгоритм заложен естественно в лупе.
    вот тут к примеру
    Код (C++):
    // ---------- ВИВІД НА ЕКРАН ГОДИННИКА АБО ТЕМПЕРАТУРИ ЧИ ВОЛОГОСТІ------------------------
      if(second >=40 && second < 45 && ds18b20){
        showSimpleTemp();
      } else if(second >=45 && second <50 && mqttOn && ds18b20Out) {
        showSimpleTempU();
      } else if(second >=50 && second <55 && sensorDom == 1) {
        showSimpleHum();
      } else if(millis() % 50 == 0) showAnimClock();
    время от 40 до 45-й секунды зарезервировано под вывод внутренней температуры.
    время от 45 до 50-й секунды под вывод внешней температуры
    время от 50 до 55-й секунды под вывод влажности.
    все остальное время должны отображаться часы.
    Все возможные обращения я постарался сделать в эти промежутки времени, дабы не было видно замираний на экране.

    В случае с бегущей строкой - то она стартует с 10 секунды, и пока она не"добежит" - никакие проверки не выполняются (почти). По этому в промежутке от 10 до 40 секунды я стараюсь ничего не планировать
     
  18. Sandr

    Sandr Гик

    Эх последняя прошивка видать крутая датчики можно выбрать, даже вывод в ком порт отключается. Быстрее бы Дениска её перевёл.Пока так покручу её без перевода. Да и так всё понятно
     
    Последнее редактирование: 7 апр 2018
  19. Sandr

    Sandr Гик

    Спасибо Иван, за подсказку буду копать всю ночь теперь. Просто Вы разбили мне все циклы по времени и я теперь знаю где искать. Извините но я лишь учусь у Вас тут всех, на подсказках. На ошибках других. Просто мне интересно. Перечитываю много раз всю тему и нахожу ответы. Н у а уж если ни как, то к Вам за помощью.
     
    Последнее редактирование: 7 апр 2018
  20. jgupdimon

    jgupdimon Гик

    Папку распаковыл со всеми файлами. Удалил по запарке несколько строк, теперь нормально.