Simulasi Termometer LCD dengan DHT22 Arduino Online (Tanpa Alat)
Termometer LCD ini adalah versi ringkas stasiun cuaca meja: DHT22 membaca suhu dan kelembapan, lalu LCD 16x2 menampilkannya. Sensor dan layar berbagi daya lewat rel breadboard agar rangkaiannya rapi.
Komponen yang dipakai
- Arduino Uno
- Breadboard (setengah)
- Sensor suhu (DHT22)
- LCD 16x2 (I2C)
Cara kerja
- Pin DATA DHT22 disambungkan ke D2; LCD disambungkan lewat I2C, SDA ke A4 dan SCL ke A5.
- Pustaka DHT sensor library membaca suhu dan kelembapan dari sensor.
- Pustaka LiquidCrystal I2C menulis kedua nilai itu ke dua baris LCD.
- Geser nilai Suhu dan Kelembapan pada panel sensor untuk melihat tampilan LCD berubah.
Konsep yang dipelajari
Kode program
/*
Termometer LCD: DHT22 baca suhu & kelembapan, tampil di LCD I2C 16x2.
Rangkaian: DHT VCC->5V, GND->GND, DATA->D2;
LCD VCC->5V, GND->GND, SDA->A4, SCL->A5.
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() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Termometer siap");
Serial.println(F("Termometer LCD siap."));
delay(1000);
lcd.clear();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
lcd.setCursor(0, 0);
lcd.print("Gagal baca DHT!");
Serial.println(F("gagal membaca DHT22"));
} else {
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(t);
lcd.print(" C ");
lcd.setCursor(0, 1);
lcd.print("Lembab: ");
lcd.print(h);
lcd.print(" % ");
Serial.print(F("suhu=")); Serial.print(t);
Serial.print(F(" kelembapan=")); Serial.println(h);
}
delay(2000);
}