Часы на NodeMCU Lua + MAX7219 минус все лишнее.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 4 сен 2018.

Метки:
  1. ИгорьК

    ИгорьК Гуру

    Читать чужой код акций труд. Респект!
     
    fortk1979 и Voik нравится это.
  2. ИгорьК

    ИгорьК Гуру

    Наконец у меня появилась синяя матрица, а с ней и развернутые на 180 градусов элементы:
    Ashampoo_Snap_8 февраля 2023 г._08h53m52s_001_.jpg

    Сделал новый, двуцветный корпус:

    upload_2023-2-8_9-2-31.png

    upload_2023-2-8_9-3-13.png

    upload_2023-2-8_11-10-33.png

    Кстати, вот еще вариант корпуса, напечатал, жене он понравился, а мне не очень.

    upload_2023-2-8_9-27-9.png

    newclock2.png

    Написал маленький конвертер шрифта и всех заготовок погоды для перевернутых матриц, чтобы не грузить память.
     
    Последнее редактирование: 4 июл 2023
    DetSimen, Voik и Catbear нравится это.
  3. ИгорьК

    ИгорьК Гуру

    Версия от сегодня. Openweathermap.
    Изменения. Все благодаря тов. @Voik Спасибо за мысли.

    1. Можно добавить сенсор освещенности между A0 и GND. В связи с этим появляется возможность реакции на уровень освещенности: меняем яркость в зависимости от нее.
    2. Ночной режим может включаться как по времени так и по датчику освещенности.
    3. Ночной режим: перестает показываться все, кроме времени.
    4. Ночью можно перейти на увеличенный размер цифр.
    5. Зона времени хотя и устанавливается (обязательно) в настройках, в дальнейшем подхватывается с сервера. Можете изначально установить любую и убедиться в изменении.
    upload_2023-3-6_15-29-41.png


    Остальное в файле '_setuser.lua'.

    clock.jpg

    Если установлен датчик освещенности, то в мониторе видна его работа:
    upload_2023-3-6_15-13-42.png

    Для установки ночного режима можно пользоваться теми попугаями, которые он выдает,

    Заметки по установке здесь.
     

    Вложения:

    • Amperka22.zip
      Размер файла:
      470,9 КБ
      Просмотров:
      118
    Последнее редактирование: 6 мар 2023
    Voik и Catbear нравится это.
  4. Voik

    Voik Гик

    У меня выдаёт ошибку (см. картинку). ДС подключен, фоторезистора нет.
    Разобрался: надо раскомментировать строку 10 в _setuser.lua
    Если нет фоторезистора, то: dat.lsens = false

    И просто мнение: пробовал и я синий дисплей - мне не понравился жутко.
     

    Вложения:

    Последнее редактирование: 8 мар 2023
    ИгорьК нравится это.
  5. ИгорьК

    ИгорьК Гуру

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

    Кстати, матрицы разных производителей имеют до 1.5 мм разницы в ширине, у меня одна не влезла в этот корпус.
     
  6. Voik

    Voik Гик

    Это будет очень здорово! С благодарностью приму, ибо как раз подумываю в корпус все убрать - сейчас все навесом болтается.

    Вопрос по ночной режим: опрашивается ли погодный сервер?
     
  7. ИгорьК

    ИгорьК Гуру

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

    Ночью сервер не опрашивается. Как только устройство выходит из ночного режима, счётчик опросов устанавливается в ноль и на первом шаге происходит опрос.
     
  8. Voik

    Voik Гик

    129ммХ34мм. Может сделать 130ммХ35мм? Думаю, что небольшой запас будет хорошо.
     
    Последнее редактирование: 9 мар 2023
  9. ИгорьК

    ИгорьК Гуру

    Интересно. у меня матрица другая:

    upload_2023-3-9_8-44-13.png

    Тогда ближе к вечеру сделаю под вашу матрицу
     
  10. ИгорьК

    ИгорьК Гуру

    upload_2023-3-9_11-56-13.png


    upload_2023-3-9_11-56-33.png


    upload_2023-3-9_11-56-50.png
     
    Catbear и Voik нравится это.
  11. Voik

    Voik Гик

    Не нравится мне ноль в часах (когда один разряд часа).
    Если будет время и желание, то возможность убрать ноль слева добавьте, пожалуйста, в свежей версии.
     
  12. ИгорьК

    ИгорьК Гуру

    Попробуйте. Сам не тестировал.
     

    Вложения:

    • Amperka3.zip
      Размер файла:
      470,9 КБ
      Просмотров:
      89
    Voik нравится это.
  13. Voik

    Voik Гик

    Попробовал - ноль есть. Но подождём сутки - может заработает :)
    У меня (когда был достепен main.lua) работал такой код:
    Код (C++):
    if #sh == 1 then sh = 'z'.. sh end
    Ещё вопрос про MQTT брокера: хочу отправлять на внешний сервер, а там надо пароль.
    Не увидел я в коде _setuser.lua куда вставить пароль...
     
  14. ИгорьК

    ИгорьК Гуру

    Ну так я и сделал. Вы полностью часы переустановили или только файлы залили?

    Нет такого в коде действительно. Сделаю позже.

    Но если внешний брокер требует шифрования, то это отдельная песня.
     
    Voik нравится это.
  15. Voik

    Voik Гик

    Я сделал формат и залил заново файлы: lfs.img из свежего архива, а остальные файлы прежние.
    Спасибо!
     
  16. ИгорьК

    ИгорьК Гуру

    Видимо надо начинать с заливки bin прошивки. Все сначала.
    ... или я не ту прошивку приложил :)

    До послеобеда в понедельник к компьютеру я не подойду, к сожалению
     
    Voik нравится это.
  17. ИгорьК

    ИгорьК Гуру

    Можно без перепрошивки.
    1. На работающих часах: _renameinit.lua
    2. Загрузить новые файлы.
    3. Выполнить node.LFS.reload("lfs.img")
    Часы должны перегрузиться! (Значит все правильно)
    ...далее как обычно
     
  18. Voik

    Voik Гик

    Этот вариант у меня не прошёл. Но после перепрошивки заработало корректно - нуля нет! Спасибо!
     

    Вложения:

    ИгорьК нравится это.
  19. Voik

    Voik Гик

    Вчера получил корпус.
    На днях (а-то и раньше) соберу детальки в корпус и дополню пост.
     

    Вложения:

    ИгорьК нравится это.
  20. ИгорьК

    ИгорьК Гуру

    Вот прошивка с логин/пароль для MQTT
    Однако... если там шифрование на сервере, то это вряд ли заработает.

    И чет непривычно, когда время без нуля в часе :)

    Там есть файл _testMQTT.lua, присмотритесь к нему. Однако часы сначала надо завести в сеть. Установка и запуск обычным способом, и если нет MQTT, тогда _testMQTT.lua.

    Код (Lua):
    do
    wifi.setmode(wifi.STATION)
    cfg={}
    cfg.ssid="SSID"
    cfg.pwd="PASSWD"
    cfg.save=true
    cfg.auto=true
    wifi.sta.config(cfg)
    wifi.sta.connect()
    end
     

    Вложения:

    Последнее редактирование: 14 мар 2023
    Catbear и Voik нравится это.