#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define WIDTH 128
#define HEIGHT 64
#define RESET -1
#include <DHT.h>
#define DHTPin 8
#define DHTTYPE DHT22
float temp, humi;
Adafruit_SSD1306 OLED(WIDTH, HEIGHT, &Wire, RESET);
DHT dht(DHTPin,DHTTYPE);
void setup() {
OLED.begin(SSD1306_SWITCHCAPVCC,0x3C);
OLED.clearDisplay();
dht.begin();
}
void loop (){
DataTemp();
OLED.display();
delay(3000);
DataHumi();
OLED.display();
delay(3000);
}
void DataTemp(){
temp = dht.readTemperature();
if (isnan(temp)) {
Serial.println('DHT Senor Temperature Failed !');
delay(200);
}
OLED.setTextColor(WHITE, BLACK);
OLED.setTextSize(1);
OLED.setCursor(25,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');
}
void DataHumi(){
humi = dht.readHumidity();
if (isnan(humi)) {
Serial.print('DHT Senor Humidity Failed !');
delay(200);
}
OLED.setTextColor(WHITE, BLACK);
OLED.setTextSize(1);
OLED.setCursor(30,5);
OLED.print("Humidty");
OLED.setTextSize(2);
OLED.setCursor(20,25);
OLED.print(humi);
OLED.print('%RH');
}