#include "DHT.h"
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH1106.h>
#define DHTPIN 2 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11 //#define DHTTYPE DHT11 // DHT 11
DHT dht(2, DHTTYPE);
// กำหนดขาต่อ I2C กับจอ OLED
#define OLED_RESET 4
Adafruit_SH1106 display(OLED_RESET);
void setup() {
Serial.begin(9600);
dht.begin();
display.begin(SH1106_SWITCHCAPVCC, 0x3C);
display.display();
display.clearDisplay(); // ลบภาพในหน้าจอทั้งหมด
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *c");
Serial.print("\n");
delay(500);
display.setTextSize(0.5);
display.setCursor(0,0);
display.setTextColor(WHITE); //กำหนดข้อความสีขาว
display.print("\n Humidity:");
if(h <= 30){
display.println(" low");
}
else if (h >= 50){
display.println(" High");
}
display.print("Temperature:");
if(t <= 12){
display.println(" Cool");
}
else if (t >= 32){
display.println(" Hot");
}
else {
display.println(" Good");
}
display.display(); // สั่งให้จอแสดงผล
delay(500);
}
Loading
ssd1306
ssd1306