// digunakan untuk mengimpor pustaka eksternal atau berkas kode lainnya ke dalam program
#include "DHT.h"
#include <LiquidCrystal.h>
// digunakan untuk mendeklarasikan suatu variabel dan tempat untuk menaruh pin pinnya
#define ldr 12
#define lamp 14
#define DHTPIN 27
#define DHTTYPE DHT22
// igunakan untuk mendefinisikan sebuah variabel byte yang disebut Simbol_derajat dengan nilai biner B11011111
byte Simbol_derajat = B11011111;
// // digunakan untuk membuat sebuah objek dari kelas LiquidCrystal dengan pin-pins yang digunakan untuk menghubungkan komunikasi data
LiquidCrystal lcd(21, 19, 18, 5, 4, 2);
// digunakan untuk membuat sebuah objek dari kelas DHT sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// //digunakan untuk menentukan jenis input/output yang digunakan pada variabel
pinMode(ldr, INPUT);
pinMode(lamp, OUTPUT);
// // digunakan untuk menginisialisasi layar LCD dengan ukuran tertentu
lcd.begin(16, 2);
// digunakan untuk menginisialisasi komunikasi antara mikrokontroler dan sensor DHT
dht.begin();
}
void loop() {
// // digunakan untuk mendeklarasikan variabel yang nilainya desimal
float temp = dht.readTemperature();
// digunakan untuk mengatur posisi tulisan pada layar LCD
lcd.setCursor(0, 0);
// digunakan untuk menghapus semua konten yang sedang ditampilkan pada layar LCD
lcd.clear();
// digunakan untuk menampilkan tulisan di dalam LCD
lcd.print("Suhu : " + String(temp));
// digunakan untuk menampilkan karakter tunggal pada layar LCD
lcd.write(Simbol_derajat);
lcd.print("C");
lcd.setCursor(0, 1);
float humidity = dht.readHumidity();
lcd.print("Lembap : ");
lcd.print(humidity);
lcd.print("%");
int ldrValue = analogRead(ldr); // Membaca nilai LDR
// // digunakan untuk membuat suatu kondisi
if(ldrValue >= 2045){
digitalWrite(lamp, HIGH);
} else {
digitalWrite(lamp, LOW);
}
delay(1000);
}