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.

Board: Arduino Uno3 komponen
Rangkaian simulasi Termometer LCD (DHT22) 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; LCD disambungkan lewat I2C, SDA ke A4 dan SCL ke A5.
  2. Pustaka DHT sensor library membaca suhu dan kelembapan dari sensor.
  3. Pustaka LiquidCrystal I2C menulis kedua nilai itu ke dua baris LCD.
  4. Geser nilai Suhu dan Kelembapan pada panel sensor untuk melihat tampilan LCD berubah.

Konsep yang dipelajari

Sensor DHT22LCD 16x2 I2CDua pustaka dalam satu sketchPembacaan sensor berkala

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

Template Arduino Uno lainnya