我是低级编程的新手,并试图将 DHT22 传感器连接到我的 Adafruit M0 Lora 上以读取温度。到目前为止,我只检索NaN
s。
我设置的连接与此草图相同,除了使用针 13 而不是针 2 用于传感器输入/输出。我知道草图是为不同的羽毛板制作的,尽管据我所知,逻辑应该保持不变。
我正在使用Adafruit 的 DHT 库
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
// pin connected to DH22 data line
#define DATA_PIN 13
DHT_Unified dht(DATA_PIN, DHT22);
void setup() {
// start the serial connection
Serial.begin(9600);
// wait for serial monitor to open
while(! Serial);
// initialize dht22
dht.begin();
// connect to io.adafruit.com
Serial.print("Connecting to Adafruit IO");
// we are connected
Serial.println();
}
void loop() {
sensors_event_t event;
dht.temperature().getEvent(&event);
float celsius = event.temperature;
float fahrenheit = (celsius * 1.8) + 32;
Serial.print("celsius: ");
Serial.print(celsius);
Serial.println("C");
Serial.print("fahrenheit: ");
Serial.print(fahrenheit);
Serial.println("F");
// save fahrenheit (or celsius) to Adafruit IO
dht.humidity().getEvent(&event);
Serial.print("humidity: ");
Serial.print(event.relative_humidity);
Serial.println("%");
delay(5000);
}
谁能帮助指出我做错了什么?我尝试了 9600 以外的其他波特率,以及更改了可编程引脚。任何帮助都将不胜感激。