用的元器件和接線如圖。
代碼用的是示例:
#include <dht11.h>
dht11 DHT11;
// 設置 DHT 引腳 為 Pin 2
#define DHT11PIN 2
void setup() {
Serial.begin(9600);
Serial.println("DHT11 TEST PROGRAM");
Serial.print("LIBRARY");
// 輸出 DHT 庫的版本號
Serial.println(DHT11LIB_VERSION);
Serial.println();
}
void loop() {
Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
// 測試 DHT 是否正確連接
Serial.print("Read sensor: ");
switch (chk)
{
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Time out error");
break;
default:
Serial.println("Unknown error");
break;
}
// 獲取測量數據
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Temperature °C): ");
Serial.println((float)DHT11.temperature, 2);
delay(2000);}
出現的問題一直是
Read sensor: Time out error
Humidity (%): 0.00
Temperature 擄C): 0.00
找了好久,timeout好像是串口連接的問題,但是還是弄不懂,求教,感激不盡!
|