#include <Adafruit_GFX.h>
#include <Wire.h>
#include<Adafruit_SSD1306.h>
#include <DHT.h>
#define dht_pin 14
#define dht_type DHT22
#define screen_widht 128
#define screen_height 64
Adafruit_SSD1306 display(screen_widht , screen_height , &Wire , -1);
DHT dht(dht_pin, dht_type);
void setup()
{
Serial.begin(115200);
Wire.begin(21,22);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)){
Serial.println("OLED FAILED");
}
Serial.println("OLED INITIALIZED");
dht.begin();
}
void loop()
{
delay(2000);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(1);
display.setCursor(0,0);
display.println("DHT22 SENSOR");
float h = dht.readHumidity();
float t= dht.readTemperature();
float f = t * 9.0 / 5.0 + 32.0;
if(isnan(h)||isnan(t))
{
display.setCursor(0,16);
display.print("FAILED TO SCAN");
return;
}
float hif = dht.computeHeatIndex(f,h);
float hic = dht.computeHeatIndex(t,h,false);
display.setCursor(0,16);
display.print("HUM.:- ");
display.print(h);
display.print(" %");
display.setCursor(0,28);
display.print("Temp.= ");
display.print(t);
display.print("C");
display.setCursor(0,40);
display.print("HI:-");
display.print(hic);
display.print("C");
display.setCursor(0,52);
display.print("HI:-");
display.print(hif);
display.print("F");
display.display();
}