#include <LiquidCrystal_I2C.h>
#include <DHT22.h>
#define led1 6
#define led2 5
#define analog_ldr A0
#define pinDATA 12
#define relay 7
LiquidCrystal_I2C lcd (0x27,16,2);
DHT22 dht22(pinDATA);
void setup() {
// put your setup code here, to run once:
lcd.init();
lcd.backlight();
Serial.begin(115200); //1bit=10µs
Serial.println("\ntest capteur DTH12");
pinMode(relay, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(analog_ldr, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int membaca_analog=analogRead(analog_ldr);
Serial.print("Hasil baca :");
Serial.println(membaca_analog);
float temperatur = dht22.getTemperature();
float humi = dht22.getHumidity();
lcd.clear ();
lcd.setCursor (0,0);
lcd.print("Suhu: ");
lcd.print(temperatur);
lcd.setCursor (0,1);
lcd.print("kelembapan: ");
lcd.print(humi);
lcd.setCursor(0,2);
lcd.print("kecerahan: ");
lcd.print(membaca_analog);
if (dht22.getLastError() != dht22.OK) {
Serial.print("last error :");
Serial.println(dht22.getLastError());
}
else if(membaca_analog >= 900){
digitalWrite(led1,HIGH);
}
else if(membaca_analog <= 900 && membaca_analog >= 400 ){
digitalWrite(led1,LOW);
}
else if (temperatur > 30){
digitalWrite(relay, HIGH);
digitalWrite(led2, LOW);
}
else {
digitalWrite(relay, LOW);
digitalWrite(led2, HIGH);
}
Serial.print("humi=");Serial.print(humi,1);Serial.print("\t");
Serial.print("temperatur=");Serial.println(temperatur,1);
delay(2000);
}