#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <U8g2_for_Adafruit_GFX.h>
#include <u8g2_fonts.h>
#include <DHT_U.h>
#define SDA 10
#define SCL 0
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
U8G2_FOR_ADAFRUIT_GFX u8g2Fonts;
Adafruit_SSD1306 display;
DHT_Unified dht(5, DHT22);
DHT_Unified dht2(18, DHT22);
const String currentVerison = "1.0.0";
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-C3!");
Wire.setPins(SDA, SCL);
display = Adafruit_SSD1306(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
u8g2Fonts.begin(display);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.println(currentVerison);
display.display();
pinMode(4, INPUT);
}
void loop() {
dht.begin();
sensors_event_t event;
sensors_event_t event2;
dht.temperature().getEvent(&event);
dht2.temperature().getEvent(&event2);
if (isnan(event.temperature))
{
Serial.println(F("Error reading temperature!"));
}
else
{
Serial.print(event.temperature);
Serial.println(F("°C"));
Serial.print(event2.temperature);
Serial.println(F("°C"));
}
// Get humidity event and print its value.
dht.humidity().getEvent(&event);
if (isnan(event.relative_humidity))
{
Serial.println(F("Error reading humidity!"));
}
else
{
Serial.print(F("Humidity: "));
Serial.print(event.relative_humidity);
Serial.println(F("%"));
Serial.print(event2.relative_humidity);
Serial.println(F("°C"));
}
Serial.println(F("------------------"));
delay(5000);
}