#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>
#define DHTPIN 5
#define DHTTYPE DHT22
DHT dht22(DHTPIN, DHTTYPE);
#define SCREEN_I2C_ADDR 0x3C // or 0x3C
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RST_PIN -1 // Reset pin (-1 if not available)
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST_PIN);
void setup() {
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, SCREEN_I2C_ADDR);
display.clearDisplay();
dht22.begin();
//SHT31.begin(0X44);
display.display();
}
void loop() {
//float hum = SHT31.readHumidity();
//float temp = SHT31.readTemperature();
float hum = dht22.readHumidity();
float temp = dht22.readTemperature();
if (isnan(hum) || isnan(temp)) {
Serial.println(F("Failed to read from DHT sensor!"));
//Serial.println(F("Failed to read from SHT31 sensor!"));
return;
}
else {
if (temp < 26){
Serial.print(F("Humidity: "));
Serial.print(hum);
Serial.print(" % ");
Serial.print(F(" Temperature: เย็น "));
Serial.print(temp);
Serial.print(F(" °C "));
}
else if (temp >= 26 && temp <= 28){
Serial.print(F("Humidity: "));
Serial.print(hum);
Serial.print(" % ");
Serial.print(F(" Temperature: กลาง "));
Serial.print(temp);
Serial.print(F(" °C "));
}
else {
Serial.print(F("Humidity: "));
Serial.print(hum);
Serial.print(" % ");
Serial.print(F(" Temperature: ร้อน "));
Serial.print(temp);
Serial.print(F(" °C "));
}
}
}