Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Нужна помощь Некорректные значения с DHT11 (NodeMCU V3 Lua + DHT11)

Тема в разделе "Раздел для начинающих", создана пользователем DeksMaster, 3 янв 2019.

  1. DeksMaster

    DeksMaster Новичок

    Сообщения:
    4
    Симпатии:
    0
    Имеется: NODEMCU V3, датчик температуры и влажности DHT11
    Прошивка:
    Код (Text):
    1. NodeMCU custom build by frightanic.com
    2.     branch: master
    3.     commit: 11592951b90707cdcb6d751876170bf4da82850d
    4.     SSL: false
    5.     modules: dht,file,gpio,http,i2c,mqtt,net,node,sjson,tmr,uart,websocket,wifi
    6. build created on 2018-12-30 19:20
    7. powered by Lua 5.1.4 on SDK 2.2.1(6ab97e9)
    Скетч самый простой отсюда:
    Код (Lua):
    1. pin = 5
    2. status, temp, humi, temp_dec, humi_dec = dht.read(pin)
    3. if status == dht.OK then
    4.     -- Integer firmware using this example
    5.     print(string.format("DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n",
    6.           math.floor(temp),
    7.           temp_dec,
    8.           math.floor(humi),
    9.           humi_dec
    10.     ))
    11.  
    12.     -- Float firmware using this example
    13.     print("DHT Temperature:"..temp..";".."Humidity:"..humi)
    14.  
    15. elseif status == dht.ERROR_CHECKSUM then
    16.     print( "DHT Checksum error." )
    17. elseif status == dht.ERROR_TIMEOUT then
    18.     print( "DHT timed out." )
    19. end
    Вот такие значения приходят с датчика:

    DHT Temperature:665.900;Humidity:947.200

    Значения увеличиваются/уменьшаются в соответствии с изменениями окруж. среды. Вот только приходят в неверном формате. Может кто сталкивался?
     
    Последнее редактирование: 3 янв 2019
  2. DeksMaster

    DeksMaster Новичок

    Сообщения:
    4
    Симпатии:
    0
    Перепрошил на AT v0.23 SDK 1.0.1. С бибилиотекой DHT-sensor-library для Arduino IDE все работает нормально. Показатели с датчика приходят корректные. А вот с LUA прошивкой успехов так и не добился...
     
    Последнее редактирование: 3 янв 2019
  3. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    970
    Симпатии:
    150
    Попробуйте время опроса датчика сделать не чаще чем две секунды.
     
  4. DeksMaster

    DeksMaster Новичок

    Сообщения:
    4
    Симпатии:
    0
    Сначала тоже так подумал. Так вот мой скрипт не выполняется циклично, а только один раз, если отправить команду dofile("script1.lua"). Соответственно датчик опрашивается единожды. Наверно дело не в частоте опроса датчика..
     
  5. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    970
    Симпатии:
    150
    Считайте два раза. Посмотрите результат второго считывания. Конечно с промежутком в 2 секунды.
     
  6. DeksMaster

    DeksMaster Новичок

    Сообщения:
    4
    Симпатии:
    0
    Изменил скрипт, как вы сказали: опрашиваю теперь дважды с паузой в 2 сек. Паузу вызываю следующим методом:
    Код (Lua):
    1. socket = require("socket")
    2.  
    3. function sleep(sec)
    4.     socket.sleep(sec)
    5. end
    6.  
    7. sleep(2)
    Ответ приходит все такой же:

    DHT Temperature:665.900;Humidity:947.200
    DHT Temperature:671.000;Humidity:1150.300


    Подышал на датчик в промежутке между двумя запросами показаний - видно, что показания меняются

    Пробовал использовать функцию dht.read11() вместо dht.read() для считывания показаний - приходит ошибка dht.ERROR_CHECKSUM
     
    Последнее редактирование: 3 янв 2019
  7. pdfsen

    pdfsen Новичок

    Сообщения:
    1
    Симпатии:
    0
    Интересует такая же проблема.
    Прошивку NodeMCU Lua SDK 2.2.1 брал отсюда NodeMCU custom builds
    Я еще кроме этого подцепил резистор 10 кОм на +3,3В на Дата выход датчика DHT11.
    Всё равно не помогло, датчик возвращает левые цифры.
    Иногда (может раз в 10 минут) появляются корректная Температура и Влажность.
     
    Последнее редактирование: 27 янв 2019
  8. Anton Shevtsov

    Anton Shevtsov Новичок

    Сообщения:
    11
    Симпатии:
    0
    у меня тоже с dht11какието левые значения.. лежит на окне, показывает 8-10-15 влажность.. если подышать влажность растет..
     

    Вложения:

  9. nikolz

    nikolz Гуру

    Сообщения:
    4.138
    Симпатии:
    431
    смотрите программу
    вот здесь есть пример как выводить данные датчика в луа.
    dht - NodeMCU Documentation
     
  10. Карл Маркс

    Карл Маркс Новичок

    Сообщения:
    1
    Симпатии:
    0
    А у меня только этот вариант прокатил. Просто добавит "11", и всё.
     

Поделиться этой страницей