//Library Environment Source Code
#include <LiquidCrystal_I2C.h> //Menambahkan library enviroment yang diperlukan untuk LCD dengan driver i2c
#include <DHT.h> //Menambahkan library environment yang digunakan sebagai dirver pada sensor DHT22
//Mendefinisikan Pin pada Arduino Uno
#define DHTPIN 8 //Menginisiasikan pin yang terpasang untuk Sensor DHT berapa pada pin 8
#define DHTTYPE DHT22 //Mendefinisikan jenis DHT yang digunakan karena terdapat perbedaan tegangan antara DHT11 dan DHT22, pada kalin ini menggunakan DHT22
DHT dht (DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); //Mendefinisikan driver library yang digunakan, dengan 0x27 sebagai alamat, 16 adalah kolom yang digunakan, dan 2 adalah baris yang tersedia pada LCD
void setup() {
Serial.begin(9600); //Baud rate yang digunakan dalam memproses komunikasi data antara perangkat dan mikrokontroler
Serial.println("Sistem Monitoring Suhu"); //Adalah hasil yang akan ditampilkan pada LCD ketika program berjalan beruapa text
lcd.begin(16, 2); //Mendefinisikan LCD dengan 16 kolom dan 2 baris
dht.begin(); // Untuk dapat menjalankan fungsi dari dht tersebut
}
void loop() {
float t = dht.readTemperature(); // akan membaca data suhu dari sensor dan menyimpannya di dalam variabel t yang bertipe data float.
float h = dht.readHumidity(); // akan membaca data kelembaban dari sensor dan menyimpannya di dalam variabel h yang juga bertipe data float.
delay(1000);
//Menampilkan di LCD
lcd.setCursor(0,0); //perintah ini digunakan untuk mengatur posisi text yang akan ditampilkan, pada text ini berada pada baris dan kolom 0
lcd.println("Suhu="); //Adalah hasil yang akan ditampilkan pada LCD
lcd.print(t); //nilai yang akan ditampilkan pada suhu
lcd.println(" C"); //Adalah hasil yang akan ditampilkan pada LCD
lcd.setCursor(0,1); //perintah ini digunakan untuk mengatur posisi text yang akan ditampilkan, pada text ini berada pada baris 1 dan kolom 0
lcd.println("Lembab="); //Adalah hasil yang akan ditampilkan pada LCD
lcd.print(h); //nilai yang akan ditampilkan pada kelembaban
lcd.println(" %"); // karakter persen digunakan untuk menunjukkan bahwa nilai kelembaban yang ditampilkan sebelumnya adalah dalam satuan persen.
//Menampilkan di serial monitor
Serial.println("Suhu = ");
Serial.print(t);
Serial.println(" C");
Serial.println("Kelembaban = ");
Serial.print(h);
Serial.println(" %");
}