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

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

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

    ИгорьК Гуру

    Смотрите два файла с именем asklnarod.lua и _asknarod.lua там видно.
    Датчики забейте в оба файла
     
  2. mikhail09p

    mikhail09p Гик

    > dofile("_init.lua");
    > Client: nil
    Got Internet!
    Krasilow
    Now: 10:12
    disconnected
    Got Sky codes: 1003 1186
    Got Temp: 5.3
    Got Max: 10.7 Min: 3.4
    23392
    Lost narod
    Got Narod!
    min = 100
    Lost Nrod
    Narod: nil Apixu: 5.3
    Now: 5.3

    Я Вас замучаю.
    Вы написали брать среднее с датчиков народмон и Apixu тоже?
    Почему 10 ? Не могу понять...
     
  3. ИгорьК

    ИгорьК Гуру

    Вы ничего не можете брать. Все берет программа, а она выбирает наименьшее из всех датчиков народа и сравнивает с apixu.

    Если наименьшее народа отличается от apixu меньше чем на три градуса - берется оно, больше - берутся данные apixu.

    В данном случае вы не получили погоду с народа.
     
  4. ИгорьК

    ИгорьК Гуру

    Вот как выглядит правильная работа:

    upload_2019-3-22_11-26-54.png


    Обратите внимание - два датчика явно показывают бред, поэтому и выбирается наименьшее.
    Но это - Москва, здесь их как грязи.
    Если в вашем регионе их пара - не исключено что лучше брать apixu. Или делайте свой, и читайте только его. Все надежнее.
     
  5. mikhail09p

    mikhail09p Гик

    в файле _asknarod.lua

    M.sensors = {1312,9429,9197} - тут нужные мне датчики тоже, как и в asknarod.lua?

    do
    wth.narod = nil
    local sens = {3390,1358} -- Krasilov
     
  6. ИгорьК

    ИгорьК Гуру

    Сейчас я еще одно исправление сделаю - все будет только в _asknarod.lua
     
  7. mikhail09p

    mikhail09p Гик

    Подождать и перезалить всё потом?
     
  8. ИгорьК

    ИгорьК Гуру

    Перезалил. все по народу только в файле _asknarod.lua

    Добивайтесь приблизительно такой картинки:

    upload_2019-3-22_11-47-41.png
     
  9. mikhail09p

    mikhail09p Гик

    Got Narod!
    d10124 7.2
    d52869 7.1
    min = 7.1
    Narod: 7.1 Apixu: 5.3
    Now: 7.1

    Разбрался. Версия пока предыдущая. Щас скачаю последнюю и попробую.
     
    ИгорьК нравится это.
  10. mikhail09p

    mikhail09p Гик

    Код (C++):
    dofile("_init.lua")
    > Got Internet!
    Krasilow
    Now: 11:23
    disconnected
    Got Sky codes:    1009    1186
    Got Temp:    5.6
    Got Max:    10.7    Min:    3.4
    23464
    Got Narod!
    d10124    7.9
    d52869    8.1
    min =     7.9
    Narod:    7.9    Apixu:    5.6  
    Now:     7.9
     
    Всё работает! Спасибо Вам! Можно ещё вопросы?
     
  11. ИгорьК

    ИгорьК Гуру

    Конечно. Но я только на мобильном и в дороге.
     
  12. mikhail09p

    mikhail09p Гик

    Хочу погасить незначащий "0". Как записать цифру в одно знакоместо? Не нахожу... Вроде так проще всего... Или только точками ?
     
  13. mikhail09p

    mikhail09p Гик

    Функция
    Код (C++):
    function M.clear()
      for i = 1, numberOfModules do
            for ii = 1, 8 do
                sendByte(i, ii, 0)
            end
       end
    end
    при numberOfModules = 1 не затирает одно место... :(
     
  14. ИгорьК

    ИгорьК Гуру

    Без компьютера (по памяти): при формировании строки для вывода на матрицы, вместо нуля писать букву, возможно Z, что представляет собой одни нули в определении - файл setglobals.
    Если такой буквы нет- создать.
    Это несложно, но нужно смотреть файлы.
     
    Последнее редактирование: 22 мар 2019
  15. mikhail09p

    mikhail09p Гик

    Это в function printdata(data, sep) ?
     
  16. ИгорьК

    ИгорьК Гуру

    Это раньше, там где аргумент для этой функции формируется.
     
  17. eevgeniy1957

    eevgeniy1957 Нерд

    Здравствуйте, Игорь! Собрал ваши часы 1й версии, большое спасибо! Но после последних изменений перестала отображаться текущая температура, все остальное работает хорошо. В эксплорере данные вроде видны, а в часах показывает +85,0
    PORT OPEN 115200

    Communication with MCU..Got answer! Communication with MCU established.
    AutoDetect firmware...

    Can't autodetect firmware, because proper answer not received (may be unknown firmware).
    Please, reset module or continue.
    Now: 22:22
    disconnected
    Got Sky codes: 1000 1003
    Got Temp: 7.0
    Got Max: 14.1 Min: 2.4
    23552
    ds18b20: 24.19
    23472
    23288
    ds18b20: 24.25
    23288
    Что это может быть и как с этим бороться?
    С уважением - Евгений.
     
  18. ИгорьК

    ИгорьК Гуру

    Текущая температура - в доме?
     
  19. eevgeniy1957

    eevgeniy1957 Нерд

    На улице
     
  20. ИгорьК

    ИгорьК Гуру

    Отформатировать модуль и все установить заново. Вот буквально перед Вами у товарища все работает.

    Прямо с первого шага - заливаете прошивку с очисткой памяти и т.д.

    И не перепутайте файлы со старыми. Не забудьте сохранить свой ключ apixu.