#include "DHT.h"
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define LARGURA_OLED 128
#define ALTURA_OLED 64
 
#define RESET_OLED -1
 
Adafruit_SSD1306 display(LARGURA_OLED, ALTURA_OLED, &Wire, RESET_OLED);

int bot = 2;
int dhtP = 15;

bool Lig = false;
bool Boom = false;

#define DHTTYPE DHT22  
DHT dht(dhtP, DHTTYPE);

void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
Serial.begin(9600);
pinMode(bot, INPUT);
dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  int botValue = digitalRead(bot);

  if(botValue == true){
  Lig = !Lig;
  while(botValue == 1){
   botValue = digitalRead(bot);
  }
  }

  if(Lig == true){
    if(Boom == false){
      display.clearDisplay();
      display.setTextSize(1);
      display.setTextColor(WHITE);
      display.setCursor(0,10);
      display.print("Sejam Bem Vindos!");
      display.display();
      delay(2000);
      Boom = true;
    }

    if(Boom == true){
      display.clearDisplay();
      display.setTextSize(1);
      display.setTextColor(WHITE);
      display.setCursor(0,10);
      display.print("Temp:");
      display.print(t);
      display.setCursor(0,20);
      display.print("Hum:");
      display.print(h);
      display.print("%");
      display.display();
      delay(2000);
    }
  } else {
    display.clearDisplay();
    display.display();
    Boom = false;
  }
}