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.

Board: Arduino Uno3 komponen
Rangkaian simulasi Termometer digital (DHT22 + LCD) dengan Arduino Uno di NOVIOT

Komponen yang dipakai

  • Arduino Uno
  • Breadboard (setengah)
  • Sensor suhu (DHT22)
  • LCD 16x2 (I2C)

Cara kerja

  1. Pin DATA DHT22 disambungkan ke D2 untuk membaca suhu dan kelembapan.
  2. LCD 16x2 disambungkan lewat I2C: SDA ke A4 dan SCL ke A5, dengan daya bersama lewat breadboard.
  3. Dua pustaka bekerja sama: DHT sensor library untuk sensor, LiquidCrystal I2C untuk layar.
  4. Program menulis suhu dan kelembapan ke baris LCD dengan lcd.print() setiap pembacaan baru.

Konsep yang dipelajari

LCD 16x2 I2CPustaka LiquidCrystal I2CSensor DHT22Komunikasi I2C (SDA A4, SCL A5)

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);
}

Template Arduino Uno lainnya