#include<Adafruit_SSD1306.h>
#include<LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 5
#define DHTTYPE DHT22
#define SCREEN_W 128
#define SCREEN_H 64
#define ADD_LCD 0x27
#define ADD_COLS 16
#define ADD_ROWS 2
LiquidCrystal_I2C lcd(ADD_LCD,ADD_COLS,ADD_ROWS );
DHT dht(DHTPIN,DHTTYPE);
Adafruit_SSD1306 demo(SCREEN_W,SCREEN_H);
float temp,hum;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
if (!demo.begin(SSD1306_SWITCHCAPVCC,0x3C))
{
Serial.print("Display Not Initalised");
}
dht.begin();
demo.display();
demo.clearDisplay();
}
void loop()
{
temp=dht.readTemperature();
hum=dht.readHumidity();
if(isnan(temp)||isnan(hum))
{
Serial.print("Failed to read data from sensor");
}
demo.clearDisplay();
demo.setTextSize(1);
demo.setTextColor(SSD1306_WHITE);
demo.setCursor(0,0);
demo.print("Humidity");
demo.print(hum);
demo.print("%");
demo.setCursor(0,8);
demo.print("Temperature");
demo.print(temp);
demo.print("C");
demo.display();
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temperature");
lcd.print(temp);
lcd.setCursor(0,1);
lcd.print("Humidity");
lcd.print(hum);
delay(1000);
}