#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>
#define DHTPin 12
#define DHTTYPE DHT22
float temp,humi;
Adafruit_SSD1306 OLED(128, 64, &Wire,-1);//withกว้าง,heightสูง,reset-1
DHT dht(DHTPin,DHTTYPE); //DHTPin ขา ,DHTTYPE =ชนิดของDHT
void setup() {
Serial.begin(115200);
OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C);
OLED.clearDisplay();
dht.begin();
};
void loop() {
datatemp();
OLED.display();
delay(3000);
datahumi();
OLED.display();
delay(3000);
OLED.clearDisplay();
};
void datahumi(){
OLED.clearDisplay();
humi=dht.readHumidity();
if (isnan(humi) );{
Serial.println("DHT Sensor Humidity Failed!! ");
delay(200);
}
OLED.setTextColor(WHITE, BLACK);
OLED.setTextSize(1);
OLED.setCursor(30, 5);
OLED.print("Humidity");
OLED.setTextSize(2);
OLED.setCursor(20, 25);
OLED.print(humi);
OLED.print(" %RH");
};
void datatemp(){
OLED.clearDisplay();
temp=dht.readTemperature();
if (isnan(temp) );{
Serial.println("DHT Sensor Temperature Failed!!");
delay(200);
}
OLED.setTextColor(WHITE, BLACK);
OLED.setTextSize(1);
OLED.setCursor(30, 5);
OLED.print("Temperature");
OLED.setTextSize(2);
OLED.setCursor(20, 25);
OLED.print(temp);
OLED.drawCircle(88, 25, 3, WHITE);
OLED.setCursor(95,25);
OLED.print("C");
delay(2000);
OLED.display();
};
/*display.drawLine(0, 63, 127, 21, WHITE); เส้น
display.drawCircle(110, 50, 12, WHITE);วงกลมไม่มีพื้นหลัง
display.fillCircle(45, 50, 8, WHITE);วงกลมมีพื้นหลัง
display.drawTriangle(70, 60, 90, 60, 80, 46, WHITE);สี่เหลี่ยมทึบ*/