arduino 读取 dht11的代码
时间: 2024-05-03 07:22:22 浏览: 77
下面是一个简单的Arduino代码,用于读取DHT11传感器的温度和湿度数据:
```
#include <DHT.h>
#define DHTPIN 2 // DHT11连接到Arduino的引脚
#define DHTTYPE DHT11 // 定义传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600); // 初始化串口通信
dht.begin(); // 初始化传感器
}
void loop() {
delay(2000); // 等待2秒钟,以便传感器稳定
float humidity = dht.readHumidity(); // 读取湿度数据
float temperature = dht.readTemperature(); // 读取温度数据
Serial.print("Humidity: "); // 输出湿度数据
Serial.print(humidity);
Serial.print("% Temperature: "); // 输出温度数据
Serial.print(temperature);
Serial.println("°C");
}
```
相关问题
arduino读取dht11温湿度传感器
Arduino可以通过引用DHT库来读取DHT11温湿度传感器的数据。首先,需要将DHT库添加到Arduino环境中。可以在库管理器中搜索"DHT"来找到适合的库。然后,选择合适的DHT库并安装它。
接下来,连接DHT11传感器到Arduino板。DHT11有三个引脚:VCC、OUT和GND。将DHT11的VCC引脚连接到Arduino的5V引脚,OUT引脚连接到Arduino的数字引脚(如D2引脚),而GND引脚连接到Arduino的GND引脚。
在Arduino IDE中,创建一个新的项目,并在代码中引用DHT库。使用DHT库提供的函数来读取温湿度传感器的数据。首先,定义一个DHT对象,并指定DHT传感器的引脚和类型。例如,可以使用以下代码:
#include <DHT.h>
#define DHTPIN 2 // 定义DHT11引脚为数字引脚2
#define DHTTYPE DHT11 // 设置传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE); // 创建一个DHT对象
然后,在setup()函数中,初始化串口通信,并将DHT对象初始化。例如,可以使用以下代码:
void setup() {
Serial.begin(9600); // 初始化串口通信为9600波特率
dht.begin(); // 初始化DHT对象
}
最后,在loop()函数中,使用DHT库提供的函数读取温湿度数据,并将其打印到串口监视器上。例如,可以使用以下代码:
void loop() {
float temperature = dht.readTemperature(); // 读取温度值
float humidity = dht.readHumidity(); // 读取湿度值
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" °C");
Serial.print("\t湿度: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000); // 延迟2秒
}
这样,Arduino将会每隔2秒读取一次DHT11温湿度传感器的数据,并将其通过串口通信输出到电脑上的串口监视器中。
Arduino Dht11代码
以下是 Arduino 的 DHT11 温湿度传感器代码:
```
#include <dht.h>
dht DHT;
#define DHT11_PIN 7
void setup() {
Serial.begin(9600);
}
void loop() {
int chk = DHT.read11(DHT11_PIN);
Serial.print("Temperature = ");
Serial.println(DHT.temperature);
Serial.print("Humidity = ");
Serial.println(DHT.humidity);
delay(1000);
}
```
在代码中,我们使用 `dht` 库来读取 DHT11 传感器的数据。我们定义了传感器引脚为 7,并在 `setup()` 函数中初始化串口。在 `loop()` 函数中,我们使用 `DHT.read11()` 函数来读取传感器的数据。然后我们打印温度和湿度值,并延迟 1 秒钟再次读取数据。