用NodeMCU读DHT22传感器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用NodeMCU读DHT22传感器相关的知识,希望对你有一定的参考价值。

我正在尝试使用NodeMCU从DHT22读取温度数据。这是我的脚本:

function GetSensorData()
    print( "Trying to get temperature..." )
    pin = 4
    status, temp, humi, temp_dec, humi_dec = dht.read(pin)
    if status == dht.OK then
        print("DHT Temperature:"..temp..";".."Humidity:"..humi)
    elseif status == dht.ERROR_CHECKSUM then
        print( "DHT Checksum error." )
    elseif status == dht.ERROR_TIMEOUT then
        print( "DHT timed out." )
    end
end

-- MAIN
tmr.alarm(1, 1000, 1, function() GetSensorData() end)

这给了我以下输出(一遍又一遍):

试图获得温度... DHT超时。 ....

我尝试了“pin”的所有可能值,并将DHT22数据输出附加到我的NodeMCU的所有GPIO。

引脚连接如下:

  • DHT22-HPC - > Noctuzu-3
  • DHT22-GND - > NodeMCU-GND
  • DHT22-DATA - > NodeMCU-D0,D1,D2,D3,D4(全部试过)

我已经没想完了。这可能是什么问题?

答案

好的,我们走了......

引脚号必须从模块上的内容映射到您在Lua代码中使用的索引。见https://nodemcu.readthedocs.org/en/dev/en/modules/gpio。例如,使用pin = 4,您必须在模块上使用GPIO2。

以上是关于用NodeMCU读DHT22传感器的主要内容,如果未能解决你的问题,请参考以下文章

基于ESP8266 NodeMCU + DHT22 记录室内温湿度

基于ESP8266 NodeMCU + DHT22 记录室内温湿度

毕设求助:单片机始终读不到温湿度传感器DHT22的数据,一直显示00.0

ESP-NOW ESP8266 NodeMCU单板双向通信

Arduio ESP8266获取DHT11温湿度传感器数据

ESP 保姆级教程 疯狂传感器篇 —— 案例:ESP8266 + DHT11 + 串口输出(检测温湿度)