#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define DHTPIN 8
#define DHTTYPE DHT22
#define COOLER_PIN 6
#define BUZZER_PIN 7
DHT dht(DHTPIN, DHTTYPE);
Adafruit_SSD1306 display(128, 64, &Wire);
void setup() {
Serial.begin(9600);
dht.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0X3C);
display.clearDisplay();
pinMode(COOLER_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(COOLER_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
void loop() {
float umidade = dht.readHumidity();
float temp = dht.readTemperature();
Serial.print("temperatura: ");
Serial.print(temp);
Serial.print(" ");
Serial.print("umidade: ");
Serial.println(umidade);
if (temp > 24) {
digitalWrite(COOLER_PIN, HIGH);
} else {
digitalWrite(COOLER_PIN, LOW);
}
if (umidade < 30 || umidade > 60) {
digitalWrite(BUZZER_PIN, HIGH);
} else {
digitalWrite(BUZZER_PIN, LOW);
}
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(1);
display.setCursor(0, 0);
display.print("Temp:");
display.setCursor(60, 0);
display.print(temp);
display.setCursor(0, 34);
display.print("Umid:");
display.setCursor(60, 34);
display.print(umidade);
display.display();
}