#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
DHT dht(DHTPIN, DHTTYPE);
int spdelay = 1000;
void splashScreen() {
//splash screen
lcd.setCursor(0, 0);
lcd.print("By: Arkan Asadil");
lcd.setCursor(6, 1);
lcd.print("Huda");
delay(spdelay);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("-Farhanu Hafizka");
lcd.setCursor(0, 1);
lcd.print("-Nabhan Khalif");
delay(spdelay);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("-Lintang Noena");
delay(spdelay);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("-Program DHT22--");
delay(spdelay);
lcd.clear();
}
void setup() {
lcd.begin(16, 2);
dht.begin();
splashScreen();
}
void dhtRead() {
//"Baca" sensor DHT22
float temp = dht.readTemperature();
float humid = dht.readHumidity();
//"Print" data-nya ke lcd
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp, 1);
lcd.print(char(223));
lcd.println("C");
lcd.setCursor(0, 1);
lcd.print("Humid: ");
lcd.print(humid, 1);
lcd.println("%");
}
void loop() {
//biar komplex :D
//DHT22 cuma bisa read 2 detik sekali A.K.A 0.5Hz
if(millis() / 2000 % 2 == 0) {
digitalWrite(LED_BUILTIN, HIGH);
dhtRead();
} else {
digitalWrite(LED_BUILTIN, LOW);
}
}