#include "DHT.h"
#define DHTPIN 2 // definisikan pin yang digunakan utk sensor DHT22
// Tentukan jenis DHT yang digunakan (pilih salah satu)
// Saat ini yang dipilih adalah DHT22
#define DHTTYPE DHT22 // DHT 22
DHT dht(DHTPIN, DHTTYPE);
#define RELAY_ON 0
#define RELAY_OFF 1
#define RELAY_1 8 // pin yang digunakan yaitu pin 8
#define RELAY_2 7
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define suhuon 11
#define suhuoff 12
void setup() {
Serial.begin(9600);
Serial.println("DHT22 test!");
dht.begin();
// Set pin as output.
pinMode(RELAY_1, OUTPUT);
pinMode(RELAY_2, OUTPUT);
pinMode(suhuon, OUTPUT);
pinMode(suhuoff, OUTPUT);
// Initialize relay one as off so that on reset it would be off by default
digitalWrite(RELAY_1, RELAY_OFF);
lcd.begin(16, 2);
lcd.setCursor(2,0);
lcd.print("KELOMPOK");
lcd.setCursor(3,1);
lcd.print("Rustu,Mujahid");
delay(5000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Taufik,Arif,");
lcd.setCursor(2,1);
lcd.print("Munaz");
delay(5000);
lcd.clear();
}
void loop() {
// Baca humidity dan temperature
float h = dht.readHumidity();
float t = dht.readTemperature();
// Cek hasil pembacaan, dan tampilkan bila ok
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
return;
}
if (t<36.10)// ON
{
digitalWrite(RELAY_1, RELAY_ON);
digitalWrite(suhuon, HIGH);
digitalWrite(suhuoff, LOW);
}
else if (t>37.55)//OFF
{
digitalWrite(RELAY_1, RELAY_OFF);
digitalWrite(suhuoff, HIGH);
digitalWrite(suhuon, LOW);
}
if (h<38)// ON
{
digitalWrite(RELAY_2, RELAY_ON);
digitalWrite(suhuon, HIGH);
digitalWrite(suhuoff, LOW);
}
else if (t>60)//OFF
{
digitalWrite(RELAY_2, RELAY_OFF);
digitalWrite(suhuoff, HIGH);
digitalWrite(suhuon, LOW);
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
lcd.setCursor(0,0);
lcd.print("Kelembaban: ");
lcd.print(h);
lcd.print(" % ");
lcd.setCursor(0,1);
lcd.print("Suhu: ");
lcd.print(t);
lcd.print(" C ");
}