Q:代码
我想通过ESP8266(CP1202) 将DHT11 和GSP30 检测到的数据显示在OLED(4针)(u8g2库)
目前OLED 能正常显示温度和湿度,;
GSP30 库已安装;
现在新增GSP30 气体检测,不知道代码如何下手?
#include <Adafruit_SGP30.h>
#include <dht11.h>
#include <Arduino.h>
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
#define OLED_RESET 0
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define DHTPIN D4
dht11 DHT11;
Adafruit_SGP30 sgp;
void setup() {
u8g2.begin(); //初始化u8g2库
u8g2.enableUTF8Print(); //启用UTF8打印
Serial.begin(9600);
while (!Serial) {
delay(10);
}
if (!sgp.begin()) {
Serial.println("SGP30 not found");
while (1);
}
void loop() {
float temperature = DHT11.readTemperature();
float humidity = DHT11.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
u8g2.clearBuffer();
u8g2.sendBuffer();
delay(1000);
if (!sgp.IAQmeasure()) {
Serial.println("Measurement failed");
return;
}
do{
//display.clearDisplay();
u8g2.drawStr(0, 0);
u8g2.setTextSize(1);
u8g2.println("Temperature: " + String(temperature) + "C");
u8g2.println("Humidity: " + String(humidity) + "%");
u8g2.println("CO2eq: " + String(sgp.eCO2) + "ppm");
u8g2.println("TVOC: " + String(sgp.TVOC) + "ppb");
u8g2.display();
u8g2.print("Temperature: ");
u8g2.print(temperature);
u8g2.print("C, Humidity: ");
u8g2.print(humidity);
u8g2.print("%, CO2eq: ");
u8g2.print(sgp.eCO2);
u8g2.print("ppm, TVOC: ");
u8g2.print(sgp.TVOC);
u8g2.println("ppb");
} while ( u8g2.nextPage() );
delay(1000);
}
求大博主改正