生成用esp32在Arduino中通过读取dht11输入到引脚35的数据,输出到oled显示屏上(SDA接入引脚21,SCL接入引脚22)显示温度和数值的cpp代码
时间: 2024-03-10 10:50:36 浏览: 72
【esp32基于arduino ide】用4针0.96寸oled屏幕显示图像教程及源码
好的,以下是您需要的代码:
```cpp
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define DHTPIN 35
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
}
void loop() {
delay(2000);
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
display.clearDisplay();
display.setCursor(0, 0);
display.print("Temperature: ");
display.print(temperature);
display.print(" C");
display.setCursor(0, 10);
display.print("Humidity: ");
display.print(humidity);
display.print(" %");
display.display();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
}
```
这个代码使用了 DHT 库来读取 DHT11 传感器的温度和湿度数据,并将其显示在 OLED 屏幕上。同时,它还通过串口将数据输出到 Arduino IDE 的串口监视器中,以便您可以在那里查看数据。请确保将 OLED 屏幕正确连接到 ESP32 的 SDA 和 SCL 引脚,以及将 DHT11 传感器连接到引脚 35。
阅读全文