By | 03/10/2020

Sensor DHT21 merupakan sensor yang dapat membaca suhu dan juga kelembaban secara bersamaan. rentang baca dalam suhu hanya kisaran -40 – 80 C saja, sedangkan untuk kelembabanya dapat membaca dari 0 hingga 95% RH. Sensor DT21 juga sejenis dengan sensor DHT11 ataupun DHT22, hanya beda IC serta dimensi sensor. Harga sensor DHT21 juga lebih mahal dari pada sensor DHT11 ataupun sensor DHT22. Kali ini kita akan Mengakses Sensor DHT21 dengan ESP32.

ESP32, Mengirim Data DHT11 Thingspeak(Buka di tab peramban baru)

Cara Mengakses Sensor DHT21 ESP32

Sama persis dengan sensor DHT11 ataupun Sensor DHT22 yang hanya menggunakan satu wire untuk mentransfer data sensor ke mikrokontroler dalam bentuk keluaran sinyal digital. Sensor DTH21 juga tidak ada bedanya. sehingga kita dapat menggunakan Library yang sama untuk ketiga sensor tersebut.

Tutorial ESP32 Mengakses Sensor DHT21

Aplikasi Sensor DHT21 dengan ESP32

ESP32, Cara Memulai Mengakses ESP32 Arduino IDE(Buka di tab peramban baru)

Sensor DHT21 yang diakses menggunakan mikrokontroler ESP32 dapat digunakan untuk berbagai aplikasi atara lain :

  1. Monitoring Suhu Ruangan Berbasis IoT
  2. Membuat Alat Kontrol Suhu dan Kelembaban Berbasis IoT
  3. Tutorial Kontrol dan Monitoring Suhu dan Kelembaban Sensor DHT21 dan ESP32
  4. Sistem Budidaya Jamur dengan Pemantauan Suhu dan kelembaban Sensor DHT21 dan ESP32 IoT
  5. Monitoring Suhu Lingkungan Hidroponik Berbasis IoT ESP32 DHT21
  6. Dan Masih banyak lainya yang bisa kalian manfaatkan dengan sensor DHT21 serta Mikrokontroler ESP32

Bahan-Bahan Untuk Mengakses Sensor DHT21 dengan ESP32

  1. Modul Trainer ESP32 (Beli Via Tokopedia) atau Modul Wemos D1 Mini ESP32 (Beli Via Tokopedia)

Tutorial Mengakses Sensor DHT21 dengan ESP32

Berikut adalah langka-langkah untuk mengakses Sensor DHT21 dengan ESP32 sehingga dapat membaca nilai suhu dan kelembaban.

ESP32, Cara Mengirim Data DHT11 ke Database(Buka di tab peramban baru)

  1. Download Library DHT.h dan juga DHT_U.h
  2. Buat rangkaian seperti ini untuk ESP32 dan juga DHT21
    VCC DHT21 — 5V ESP32
    GND DHT21 — GND ESP32
    Data DHT21 — GPIO5 ESP32
  3. Buat Program dan upload melalui Arduino IDE
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN 5     
//#define DHTTYPE    DHT11     // DHT 11
//#define DHTTYPE    DHT22     // DHT 22 (AM2302)
#define DHTTYPE    DHT21     // DHT 21 (AM2301)

// See guide for details on sensor wiring and usage:
//   https://learn.adafruit.com/dht/overview

DHT_Unified dht(DHTPIN, DHTTYPE);

uint32_t delayMS;

void setup() {
  Serial.begin(9600);
  // Initialize device.
  dht.begin();
  Serial.println(F("DHTxx Unified Sensor Example"));
  // Print temperature sensor details.
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  Serial.println(F("------------------------------------"));
  Serial.println(F("Temperature Sensor"));
  Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);
  Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);
  Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);
  Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("°C"));
  Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("°C"));
  Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("°C"));
  Serial.println(F("------------------------------------"));
  // Print humidity sensor details.
  dht.humidity().getSensor(&sensor);
  Serial.println(F("Humidity Sensor"));
  Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);
  Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);
  Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);
  Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("%"));
  Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("%"));
  Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("%"));
  Serial.println(F("------------------------------------"));
  // Set delay between sensor readings based on sensor details.
  delayMS = sensor.min_delay / 1000;
}

void loop() {
  // Delay between measurements.
  delay(delayMS);
  // Get temperature event and print its value.
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  if (isnan(event.temperature)) {
    Serial.println(F("Error reading temperature!"));
  }
  else {
    Serial.print(F("Temperature: "));
    Serial.print(event.temperature);
    Serial.println(F("°C"));
  }
  // Get humidity event and print its value.
  dht.humidity().getEvent(&event);
  if (isnan(event.relative_humidity)) {
    Serial.println(F("Error reading humidity!"));
  }
  else {
    Serial.print(F("Humidity: "));
    Serial.print(event.relative_humidity);
    Serial.println(F("%"));
  }
}

Hasil dari program diatas tampil pada serial monitor seperti pada gambar dibawah ini.

Tutorial ESP32 Mengakses Sensor DHT21

Mungkin cukup sekian apa yang bisa saya bagikan kali ini semoga bermanfaat artikel tentang ESP32 Membaca Sensor Suhu dan kelembaban dengan DHT21, Salam Anak Kendali.

Arduino,Mengakses sensor dht11,suhu dan kelembaban(Buka di tab peramban baru)

Leave a Reply

Your email address will not be published. Required fields are marked *