用 ESP32 把 温湿度传感器数据显示到 oled 屏幕上用代码怎么写
时间: 2024-04-15 15:31:43 浏览: 206
你可以使用ESP32的Arduino库来读取温湿度传感器数据,并使用相应的库来控制OLED屏幕显示。下面是一个示例代码,演示如何将温湿度传感器数据显示到OLED屏幕上:
首先,你需要安装并导入以下库:
- Adafruit_Sensor 库
- DHT传感器库
- Adafruit_SSD1306 库
然后,你可以使用以下代码:
```cpp
#include <Adafruit_Sensor.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>
#define SCREEN_WIDTH 128 // OLED屏幕的宽度,根据你的OLED屏幕型号进行修改
#define SCREEN_HEIGHT 64 // OLED屏幕的高度,根据你的OLED屏幕型号进行修改
#define DHTPIN 4 // 温湿度传感器连接到ESP32的引脚
#define DHTTYPE DHT11 // 使用的温湿度传感器型号
DHT dht(DHTPIN, DHTTYPE);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600);
dht.begin();
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 初始化OLED屏幕
Serial.println("OLED屏幕初始化失败");
while (true);
}
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
float temperature = dht.readTemperature(); // 读取温度
float humidity = dht.readHumidity(); // 读取湿度
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 0);
display.print("Temp: ");
display.print(temperature);
display.println("C");
display.setCursor(0, 30);
display.print("Humidity: ");
display.print(humidity);
display.println("%");
display.display();
delay(2000); // 每2秒更新一次数据
}
```
这段代码通过DHT库读取温湿度传感器的数据,并使用Adafruit_SSD1306库控制OLED屏幕显示温度和湿度值。你需要根据你的具体硬件配置和OLED屏幕型号进行适当的修改。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文