#define red_led 9
#define green_led 11
#define blue_led 10
#define dht22_sensor 7
#define buzzer 6
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>
DHT my_dht(dht22_sensor, DHT22);
Adafruit_SSD1306 display(128, 64, &Wire, -1);
float temp = 0.0;
float hum = 0.0;
void setup() {
my_dht.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
Serial.begin(9600);
pinMode(red_led, OUTPUT);
pinMode(green_led, OUTPUT);
pinMode(blue_led, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
display.clearDisplay();
float temp = my_dht.readTemperature();
float hum = my_dht.readHumidity();
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.setTextSize(1);
display.print(temp);
display.setCursor(0,20);
display.setTextSize(1);
display.print(hum);
display.display();
Serial.print("Temperature in Celsius:");
Serial.print(temp);
Serial.print("Humidity in %:");
Serial.print(hum);
if(temp<=20.0) {
digitalWrite(blue_led, HIGH);
digitalWrite(green_led, LOW);
digitalWrite(red_led, LOW);
noTone(buzzer);
}
else if (temp<=30.0){
digitalWrite(blue_led, LOW);
digitalWrite(green_led, HIGH);
digitalWrite(red_led, HIGH);
}
else {
digitalWrite(blue_led, LOW);
digitalWrite(green_led, LOW);
digitalWrite(red_led, HIGH);
tone(buzzer, 7000);
}
delay(2000);
}