Cara Menampilkan Suhu DHT22 di LCD dengan Arduino — Simulasi Online
Termometer digital ini membaca suhu dan kelembapan dari DHT22 di pin D2, lalu menampilkannya di LCD 16x2. LCD terhubung lewat I2C di pin A4 dan A5, jadi hasil bacaan bisa dibaca langsung tanpa membuka Serial Monitor.
Komponen yang dipakai
- Arduino Uno
- Breadboard (setengah)
- Sensor suhu (DHT22)
- LCD 16x2 (I2C)
Cara kerja
- Pin DATA DHT22 disambungkan ke D2 untuk membaca suhu dan kelembapan.
- LCD 16x2 disambungkan lewat I2C: SDA ke A4 dan SCL ke A5, dengan daya bersama lewat breadboard.
- Dua pustaka bekerja sama: DHT sensor library untuk sensor, LiquidCrystal I2C untuk layar.
- Program menulis suhu dan kelembapan ke baris LCD dengan lcd.print() setiap pembacaan baru.
Konsep yang dipelajari
Kode program
/*
Termometer digital: DHT22 membaca suhu dan kelembapan, hasilnya
tampil di LCD 16x2.
Rangkaian: DHT22 (VCC -> 5V, GND -> GND, DATA -> D2),
LCD I2C (GND -> GND, VCC -> 5V, SDA -> A4, SCL -> A5).
Geser "Suhu" dan "Kelembapan" pada sensor di panel Properti dan
lihat angkanya berubah di LCD.
Pustaka: DHT sensor library, LiquidCrystal I2C.
*/
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#define PIN_DHT 2
#define TIPE_DHT DHT22
DHT dht(PIN_DHT, TIPE_DHT);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(PIN_DHT, INPUT_PULLUP);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Termometer siap");
}
void loop() {
float kelembapan = dht.readHumidity();
float suhu = dht.readTemperature();
lcd.setCursor(0, 0);
if (isnan(kelembapan) || isnan(suhu)) {
lcd.print("Gagal baca DHT! ");
} else {
lcd.print("Suhu ");
lcd.print(suhu, 1);
lcd.print(" C ");
lcd.setCursor(0, 1);
lcd.print("Lembap ");
lcd.print(kelembapan, 0);
lcd.print(" % ");
}
delay(2000);
}