如何使用esp8266和dht11通过arduino在ssd1306上显示温湿度
时间: 2023-12-10 16:39:08 浏览: 166
以下是使用ESP8266和DHT11通过Arduino在SSD1306 OLED上显示温湿度的步骤:
1. 连接DHT11传感器到ESP8266。将DHT11的VCC引脚连接到ESP8266的3.3V引脚,GND引脚连接到ESP8266的GND引脚,数据引脚连接到ESP8266的D2引脚。
2. 连接SSD1306 OLED显示屏到ESP8266。将SSD1306的VCC引脚连接到ESP8266的3.3V引脚,GND引脚连接到ESP8266的GND引脚,SCL引脚连接到ESP8266的D1引脚,SDA引脚连接到ESP8266的D2引脚。
3. 在Arduino IDE中安装Adafruit_SSD1306和DHT11库。
4. 使用以下代码编写Arduino程序:
```
#include <Adafruit_SSD1306.h>
#include <DHT.h>
#define OLED_RESET 0
Adafruit_SSD1306 display(OLED_RESET);
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println("Temperature:");
display.println("Humidity:");
display.display();
delay(2000);
dht.begin();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
display.setCursor(0,20);
display.print(temperature);
display.println(" *C");
display.setCursor(0,40);
display.print(humidity);
display.println(" %");
display.display();
delay(2000);
}
```
5. 上传程序到ESP8266并观察SSD1306 OLED显示屏。您将看到温度和湿度的值在显示屏上显示。
阅读全文