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 (全部試した)
私はアイデアを使い果たしました。ここで何が問題になる可能性がありますか?