//-------bibliotecas----------
#include "imagem.cpp"
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <Wire.h>
#include <DHT.h>
//-------definicoes-----------
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define SCREEN_ADDRESS 0x3c
#define OLED_RESET -1
#define pinDHT 13 //pino do DHT
#define DHType 22 //Tipo do DHT22
#define pinTrig 2
#define pinEcho 15
//-------instancias-----------
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
DHT dht(pinDHT, DHType);
//-------variaveis------------
float umidade = 0;
float temperatura = 0;
float tempoEcho = 0;
//-------constantes-----------
const float velocidade = 340;
//-------prototipos-----------
float distancia();
void setup()
{
Serial.begin(115200);
oled.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
}
void loop() {
oled.clearDisplay();
oled.drawBitmap(0, 0,Barbie_Logo, 128, 64, WHITE);
oled.display();
delay(100);
umidade = dht.readHumidity();
temperatura = dht.readTemperature();
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(BLACK);
oled.setCursor(0,0);
oled.println("valor da distancia: ");
oled.println(distancia() / 10);
oled.print(" cm");
oled.println("clima tempo: ");
oled.print(temperatura,1);
oled.write(248);
oled.println("C");
oled.println("umidade: ");
oled.print(umidade,0);
oled.println(" %");
oled.display();
delay(10000);
}
float distancia()
{
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrig, LOW);
tempoEcho = pulseIn(pinEcho, HIGH);
float distancia = tempoEcho * velocidade /1000 /2;
return distancia;
}