/* Hello Wokwi! */
#include <DHT.h>
#define LEDGreen 2
#define LEDRed 3
#define Buzzer 4
#define DHT_PIN 7
#define DHT_TYPE DHT22
#define sensorMIN 0
#define sensorMAX 512
#define Threshold 300
DHT dht(DHT_PIN,DHT_TYPE)
int value = 0 ; //variable to store the sensor value
int level = 0 ; //variable to store the sensor level
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(Buzzer, OUTPUT);
pinMode(LEDGreen, OUTPUT);
pinMode(LEDRed, OUTPUT);
digitalWrite(LEDGreen, LOW);
digitalWrite(LEDRed, LOW);
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
noTone(Buzzer);
digitalWrite(LEDGreen, LOW);
digitalWrite(LEDRed, LOW);
value = analogRead(DHT_PIN);
digitalWrite(DHT_PIN, LOW);
delay(500);
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (temperature < 25 && humidity < 25) {
noTone(Buzzer);
digitalWrite(LEDGreen, HIGH);
digitalWrite(LEDRed, LOW);
Serial.print("ATTENTION!!! LOW TEMPERATURE");
}
else if (temperature > 35 || humidity > 35) {
tone(Buzzer,500);
digitalWrite(LEDGreen, LOW);
digitalWrite(LEDRed, HIGH);
Serial.print("ATTENTION!!! TEMPERATURE TOO HIGH");
}
else
level = map(value, sensorMIN,sensorMAX,0,10); //to be 18 levels
Serial.print("TEMPERATURE DETECTED:");
Serial.print(temperature);
Serial.print("HUMIDITY");
Serial.print (humidity);
}