Arduino IDE 开发ESP-01/ESP8266-01读取DHT11温度湿度传感器
时间: 2024-03-25 22:38:40 浏览: 133
用Arduino读取DHT11温湿度传感器
好的,我可以为您提供一些基本的代码示例来读取DHT11传感器的温度和湿度数据,并通过ESP-01/ESP8266-01将数据发送到您的设备或网络。
首先,您需要确保您的ESP-01/ESP8266-01正确连接到DHT11传感器。您可以使用以下代码示例进行测试:
```C++
#include <DHT.h>
#define DHTPIN 2 // DHT11连接到ESP8266的GPIO2引脚
#define DHTTYPE DHT11 // DHT类型为 DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHT11测试");
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("读取DHT11失败");
return;
}
Serial.print("湿度: ");
Serial.print(h);
Serial.print("%\t");
Serial.print("温度: ");
Serial.print(t);
Serial.println("°C");
}
```
这个代码示例使用了DHT库,您需要先在Arduino IDE中安装该库。您可以通过“工具”->“库管理器”来进行安装。
一旦您可以成功读取DHT11传感器的数据,那么您可以将数据发送到您的设备或网络。例如,您可以使用以下代码将数据通过ESP-01/ESP8266-01发送到ThingSpeak:
```C++
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ThingSpeak.h>
#include <DHT.h>
#define DHTPIN 2 // DHT11连接到ESP8266的GPIO2引脚
#define DHTTYPE DHT11 // DHT类型为 DHT 11
DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
WiFiClient client;
unsigned long myChannelNumber = YOUR_CHANNEL_NUMBER;
const char* myWriteAPIKey = "YOUR_WRITE_API_KEY";
void setup() {
Serial.begin(9600);
Serial.println("DHT11测试");
dht.begin();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("连接到WiFi...");
}
ThingSpeak.begin(client);
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("读取DHT11失败");
return;
}
Serial.print("湿度: ");
Serial.print(h);
Serial.print("%\t");
Serial.print("温度: ");
Serial.print(t);
Serial.println("°C");
ThingSpeak.writeField(myChannelNumber, 1, t, myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber, 2, h, myWriteAPIKey);
}
```
在这个代码示例中,您需要将“YOUR_SSID”和“YOUR_PASSWORD”替换为您的WiFi网络的名称和密码。您还需要将“YOUR_CHANNEL_NUMBER”和“YOUR_WRITE_API_KEY”替换为您在ThingSpeak上创建的通道号和写API密钥。
这个代码示例使用了ThingSpeak库,您需要先在Arduino IDE中安装该库。您可以通过“工具”->“库管理器”来进行安装。
希望这个代码示例能够帮助您开始开发ESP-01/ESP8266-01读取DHT11传感器的项目!
阅读全文