#include "DHT.h"
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define DHTPIN 15
#define DHTTYPE DHT22
DHT dht(DHTPIN,DHTTYPE);
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
int relay1 = 2;
int relay2 = 4;
int relay3 = 5;
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextColor(WHITE,BLACK);
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
display.setTextSize(2);
display.clearDisplay();
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
display.clearDisplay();
display.setCursor(0, 0);
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %\t");
display.setCursor(20,25);
if(temperature >= 40){
digitalWrite(relay1, HIGH);
digitalWrite(relay2, LOW);
digitalWrite(relay3, LOW);
display.setCursor(20,25);
display.print("NUMBER3");
display.display();
}else if(temperature >= 30){
digitalWrite(relay1, LOW);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, LOW);
display.setCursor(20,25);
display.print("NUMBER2");
display.display();
}else if(temperature <= 20){
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
digitalWrite(relay3, HIGH);
display.setCursor(20,25);
display.print("NUMBER1");
display.display();
}
delay(1000);
}