Cara Membaca Sensor Suhu DHT11 & DHT22 dengan Arduino Uno — Simulasi Online

Template ini memakai sensor DHT22 untuk membaca suhu dan kelembapan udara lewat pin D2. Kabar baiknya, DHT11 dibaca dengan cara dan pustaka yang persis sama, jadi semua langkah di halaman ini berlaku untuk kedua sensor.

Board: Arduino Uno1 komponen
Rangkaian simulasi Stasiun cuaca (DHT22) dengan Arduino Uno di NOVIOT

Komponen yang dipakai

  • Arduino Uno
  • Sensor suhu (DHT22)

Cara kerja

  1. Pin DATA DHT22 disambungkan ke D2, VCC ke 5V, dan GND ke GND.
  2. Pustaka DHT sensor library membaca paket data digital dari sensor lewat satu kabel data.
  3. Program mengambil nilai suhu (derajat Celsius) dan kelembapan (persen) dari hasil bacaan itu.
  4. Geser nilai Suhu dan Kelembapan pada panel sensor, lalu lihat hasil bacanya berubah di Serial Monitor.

Konsep yang dipelajari

Sensor suhu dan kelembapan DHTPustaka DHT sensor libraryData digital satu kabelSerial Monitor

Kode program

/*
  Stasiun cuaca mini: DHT22 membaca suhu dan kelembapan udara.
  Rangkaian: VCC -> 5V, GND -> GND, DATA -> D2.
  Geser "Suhu" dan "Kelembapan" pada sensor di panel Properti dan
  lihat hasil bacaannya di Serial Monitor.
  Pustaka: DHT sensor library (Adafruit).
*/
#include <DHT.h>

#define PIN_DHT 2
#define TIPE_DHT DHT22

DHT dht(PIN_DHT, TIPE_DHT);

void setup() {
  Serial.begin(9600);
  pinMode(PIN_DHT, INPUT_PULLUP); // Jalur DATA DHT22 pakai pull-up.
  dht.begin();
  Serial.println(F("Stasiun cuaca siap."));
}

void loop() {
  float kelembapan = dht.readHumidity();
  float suhu = dht.readTemperature(); // Celsius

  if (isnan(kelembapan) || isnan(suhu)) {
    Serial.println(F("gagal membaca DHT22"));
  } else {
    Serial.print(F("suhu="));
    Serial.print(suhu);
    Serial.print(F(" C  kelembapan="));
    Serial.print(kelembapan);
    Serial.println(F(" %"));
  }
  delay(2000);
}

Menampilkan suhu DHT22 di LCD

Setelah bisa membaca sensor, langkah lanjut yang paling sering dicari adalah menampilkan suhu DHT22 di LCD 16x2 agar hasilnya terbaca tanpa Serial Monitor. NOVIOT punya template siap pakainya: Termometer Digital (DHT22 + LCD) — rangkaian yang sama ditambah LCD I2C, lengkap dengan kode programnya.

Template Arduino Uno lainnya