#include <LiquidCrystal_I2C.H>
#include <DHT.h>
#define LEDHijau 1
#define LEDMerah 2
#define Buzzer 6
#define DHT_PIN 5
#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(LEDHijau, OUTPUT);
pinMode(LEDMerah, OUTPUT);
pinMode(Buzzer, OUTPUT);
digitalWrite(LEDHijau, LOW);
digitalWrite(LEDMerah, LOW);
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
noTone(Buzzer);
digitalWrite(LEDHijau, LOW);
digitalWrite(LEDHijau, 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(LEDHijau, HIGH);
digitalWrite(LEDMerah, LOW);
Serial.print("ATTENTION!!! LOW TEMPERATURE");
}
else if (temperature > 35 || humidity > 35) {
tone(Buzzer, 500);
digitalWrite(LEDHijau, HIGH);
digitalWrite(LEDHijau, LOW);
Serial.print("ATTENTION!!! TEMPERATURE TOO HIGH");
}
else
level = map(value,sensorMIN,sensorMAX,0,10); // to be 10 level
Serial.print("TEMPERATURE DETECTED: ");
Serial.print(temperature);
Serial.print("HUMIDITY: ");
Serial.print(humidity);
}