我想要一个esp32使用u8g2驱动ssd1306显示温度曲线的程序
时间: 2023-05-13 11:05:13 浏览: 97
可以使用以下代码实现:
#include <U8g2lib.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, OLED_RESET);
Adafruit_BME280 bme;
void setup() {
Serial.begin(9600);
u8g2.begin();
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.clearBuffer();
u8g2.setCursor(0, 10);
u8g2.print("Temperature");
u8g2.sendBuffer();
if (!bme.begin(0x76)) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
}
void loop() {
float temperature = bme.readTemperature();
u8g2.clearBuffer();
u8g2.setCursor(0, 30);
u8g2.print(temperature);
u8g2.sendBuffer();
delay(1000);
}
这个程序使用了U8g2库和Adafruit_BME280库,可以通过I2C读取BME280传感器的温度数据,并在OLED屏幕上显示温度值。