我正在尝试使用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超时。 ...
我尝试了“引脚”的每个可能的值,并将DHT22数据输出连接到我的NodeMCU的所有GPIO。
的引脚连接是这样的:
- DHT22-VCC - > NodeMCU-3.3V
- DHT22-GND - > NodeMCU-GND
- DHT22-DATA - > NodeMCU-D0,D1 ,D2,D3,D4(全都试过)
我已经用完了oif的想法。这里可能是什么问题?
难道你不记得http://nodemcu.readthedocs.org/en/dev/en/modules/gpio/吗?使用'pin = 4'时,您必须在模块上使用GPIO2。 –
是的,我把针脚弄混了。这解决了它! – Boris
您是否希望我将此信息发布为答案,以便“关闭”该问题? –