#include <Adafruit_BusIO_Register.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <DHT.h>
Adafruit_SSD1306 oled(128, 64);
DHT dht(A0, DHT22);
void setup() {
pinMode(10, OUTPUT);
dht.begin();
oled.begin(SSD1306_SWITCHCAPVCC, 0X3C);
oled.clearDisplay();
oled.setTextColor(WHITE);
}
void loop() {
oled.drawLine(0, 0, 127, 0, WHITE); /* Linha superior. */
oled.drawLine(0, 0, 0, 63, WHITE); /* Linha esquerda. */
oled.drawLine(127, 0, 127, 63, WHITE); /* Linha direita. */
oled.drawLine(0, 63, 127, 63, WHITE); /* Linha inferior. */
oled.drawLine(0, 31, 127, 31, WHITE); /* Linha central. */
float temp = dht.readTemperature();
String umidade = String(dht.readHumidity(), 1);
if (temp >= 25.0) {
digitalWrite(10, HIGH);
} else {
digitalWrite(10, LOW);
}
oled.setCursor(2, 2);
oled.setTextSize(1);
oled.print("Temperatura");
oled.setCursor(40, 14);
oled.setTextSize(2);
oled.print(temp);
oled.setCursor(102, 14);
oled.write(247);
oled.setCursor(113, 14);
oled.print("C");
oled.setCursor(2, 32);
oled.setTextSize(1);
oled.print("Umidade");
oled.setCursor(50, 44);
oled.setTextSize(2);
oled.print(umidade + " %");
oled.display();
delay(2000);
oled.clearDisplay();
}