#include <LiquidCrystal_I2C.h>? //Mengontrol modul LCD karakter melalui koneksi I2C (Inter-Integrated Circuit)
#include <DHT.h> //Membaca data dari sensor suhu dan kelembaban DHT (Digital Humidity and Temperature)
#define DHTPIN 8 // Pin yang terhubung ke sensor DHT
#define DHTTYPE DHT22 // Tipe sensor DHT (DHT11 atau DHT22)
DHT dht (DHTPIN, DHTTYPE); // Inisialisasi objek DHT
LiquidCrystal_I2C lcd(0x27, 16, 2); //Mengontrol LCD yang terhubung dengan mikrokontroler melalui I2C dengan ukuran 16 kolom dan 2 baris.
void setup() { //adalah fungsi untuk melakukan konfigurasi awal
// put your setup code here, to run once: letakkan kode pengaturan Anda di sini, untuk dijalankan sekali
Serial.begin(9600); //Nilai 9600 menentukan kecepatan baud rate, yaitu laju transfer data dalam bit per detik (bps)
Serial.println("Sistem Monitoring Suhu"); // Mengirim teks ke port serial
lcd.begin(16, 2); // Inisialisasi layar LCD dengan konfigurasi 16 karakter per baris dan 2 baris
dht.begin(); // Inisialisasi sensor DHT
}
void loop() { //adalah fungsi yang berisi kode utama dari program
// put your main code here, to run repeatedly: letakkan kode utama Anda di sini, untuk dijalankan berulang kali
float t = dht.readTemperature(); //membaca temperature
float h = dht.readHumidity(); //membaca humidity
delay(1000); //menunda eksekusi program selama 1 detik
//Menampilkan di LCD
lcd.setCursor(0,0); //mengatur lokasi dimana teks selanjutnya yang ditulis dilcd akan ditampilkan
lcd.println(" Suhu"); //menampilkan tulisan suhu di lcd
lcd.print(t); //menampilkan temperature suhu di lcd
lcd.println(" C"); //menampilkan tulisan celcius di lcd
lcd.setCursor(0,1); //mengatur lokasi dimana teks selanjutnya yang ditulis dilcd akan ditampilkan
lcd.println("Lembab="); //menampilkan tulisan lembab di lcd
lcd.print(h); //menampilkan humidity di lcd
lcd.println(" %"); //menampilkan persen di lcd
//Menampilkan di serial monitor
Serial.println("Suhu = "); //menampilkan tulisan suhu di monitor
Serial.print(t); //menampilkan temperatur suhu di monitor
Serial.println(" C"); //menampilkan tulisan celcius di monitor
Serial.println("Kelembapan = "); //menampilkan tulisan lembab di monitor
Serial.print(h); //menampilkan humidity di monitor
Serial.println(" %"); //menampilkan persen di monitor
}