#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321

#define SCREEN_I2C_ADDR 0x3C
#define SCREEN_WIDTH 128     // OLED display width, in pixels
#define SCREEN_HEIGHT 64     // OLED display height, in pixels
#define OLED_RST_PIN -1      // Reset pin (-1 if not available)

Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST_PIN);
DHT dht(DHTPIN, DHTTYPE);


void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_I2C_ADDR);
  display.setTextColor(SSD1306_WHITE);
    dht.begin();

}

void loop() {

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();

  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t)) {
    return;
  }

  display.clearDisplay();

  display.setCursor(1, 1);
  display.print("Humidity: ");
  display.print(h);
  display.print(" %");

  display.setCursor(1, 20);
  display.print("Temperature: ");
  display.print(t);
  display.print(" C");

  display.display();
  delay(1000); //wait for 1 sec (1000 ms) before doing another read

}