我正在嘗試使用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
您是否希望我將此信息發佈爲答案,以便「關閉」該問題? –