/*write a program to print values of temperature & humidity on LED from DHT sensor through Arduino board*/
#include <Adafruit_SSD1306.h>
#include <DHT.h>
#define SCREEN_W 128
#define SCREEN_H 64
#define DHTPIN 5
#define DHTTYPE DHT22
Adafruit_SSD1306 display(SCREEN_W,SCREEN_H);
DHT dht(DHTPIN,DHTTYPE);
#include <LiquidCrystal_I2C.h>
#define ADD_LCD 0x27
#define ADD_COLS 16
#define ADD_ROWS 2
LiquidCrystal_I2C lcd(ADD_LCD,ADD_COLS,ADD_ROWS);
void setup() {
Serial.begin(9600);
dht.begin();
if(!display.begin(SSD1306_SWITCHCAPVCC,0x3C))
{
Serial.print("led not initialized");
}
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop()
{
float t=dht.readTemperature();
float h=dht.readHumidity();
if(isnan(t) || isnan(h))
{Serial.print("Unable to read data");
}
else
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TEMPERATURE");
lcd.print(t);
delay(1000);
lcd.clear();
lcd.setCursor(5,5);
lcd.print("HUMIDITY");
lcd.print(h);
delay(1000);
display.clearDisplay();
display.setCursor (0,0);
display.setTextColor(SSD1306_WHITE);
display.print("Temperatue");
display.print(t);
display.print("C");
display.setCursor(0,15);
display.print("Humidity");
display.print(h);
display.print("%");
delay(1000);
display.display();
}
}