elektronika

DHT11 Temperature and Humidity Sensor dengan Raspberry Pi Pico W

Tujuan

  1. Memahami cara kerja sensor DHT11.
  2. Mempelajari cara membaca data dari sensor menggunakan Raspberry Pi Pico W.
  3. Menggunakan Arduino IDE untuk pemrograman.

Alat dan Bahan

  1. Raspberry Pi Pico W
  2. Sensor DHT11
  3. Breadboard
  4. Jumper wire
  5. Komputer dengan Arduino IDE terinstal

Diagram Rangkaian

Raspberry Pi Pico W          DHT11

———————       ———

GND                      ->   GND

3.3V                     ->   VCC

GPIO 15                  ->   DATA

Langkah-Langkah

  1. Persiapan Rangkaian
  • Hubungkan pin GND DHT11 ke GND di Raspberry Pi Pico W.
  • Hubungkan pin VCC DHT11 ke pin 3.3V di Raspberry Pi Pico W.
  • Hubungkan pin DATA DHT11 ke pin GPIO 15 di Raspberry Pi Pico W.

  1. Instalasi Library
  • Buka Arduino IDE.
  • Pergi ke Sketch > Include Library > Manage Libraries.
  • Cari “DHT sensor library” oleh Adafruit, lalu instal.

  1. Kode Program

Salin kode berikut ke dalam Arduino IDE:

#include "DHT.h"
#define DHTPIN 20     // Pin data sensor DHT11
#define DHTTYPE DHT11 // Tipe sensor DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();

}


void loop() {
  delay(2000); // Tunggu 2 detik antara pembacaan
  float h = dht.readHumidity();    // Membaca kelembapan
  float t = dht.readTemperature(); // Membaca suhu dalam Celcius
  // Cek apakah pembacaan gagal dan coba lagi
  if (isnan(h) || isnan(t)) {
    Serial.println("Gagal membaca dari sensor DHT!");
    return;
  }

  Serial.print("Suhu: ");
  Serial.print(t);
  Serial.print(" °C, Kelembapan: ");
  Serial.print(h);
  Serial.println(" %");
}
#include "DHT.h"
  • Baris ini mengimpor library DHT yang diperlukan untuk berinteraksi dengan sensor DHT11. Library ini menyediakan fungsi yang memudahkan pembacaan data suhu dan kelembapan.
#define DHTPIN 15     // Pin data sensor DHT11
#define DHTTYPE DHT11 // Tipe sensor DHT11
  • DHTPIN adalah pin yang digunakan untuk menghubungkan data dari sensor DHT11. Dalam contoh ini, data dari sensor terhubung ke pin GPIO 15.
  • DHTTYPE mendefinisikan tipe sensor yang digunakan, yaitu DHT11.
DHT dht(DHTPIN, DHTTYPE);
  • Membuat objek dht dari kelas DHT, yang akan digunakan untuk berinteraksi dengan sensor. Objek ini menerima dua parameter: pin dan tipe sensor.
void setup() {
  Serial.begin(115200);
  dht.begin();
}
  • Fungsi setup() dijalankan sekali saat perangkat dinyalakan.
  • Serial.begin(115200); menginisialisasi komunikasi serial dengan kecepatan 115200 baud, sehingga kita bisa melihat output di Serial Monitor.
  • dht.begin(); menginisialisasi sensor DHT11 agar siap digunakan.
void loop() {
  delay(2000); // Tunggu 2 detik antara pembacaan
  • Fungsi loop() dijalankan berulang kali. Di sini, kita memberi jeda 2 detik antara pembacaan sensor untuk menghindari pembacaan yang terlalu cepat.
  float h = dht.readHumidity();    // Membaca kelembapan
  float t = dht.readTemperature(); // Membaca suhu dalam Celcius
  • dht.readHumidity(); digunakan untuk membaca nilai kelembapan dan menyimpannya dalam variabel h.
  • dht.readTemperature(); digunakan untuk membaca suhu dan menyimpannya dalam variabel t.
  if (isnan(h) || isnan(t)) {
    Serial.println("Gagal membaca dari sensor DHT!");
    return;

  }
  • Mengecek apakah pembacaan suhu atau kelembapan menghasilkan nilai “Not a Number” (NaN), yang menunjukkan bahwa pembacaan gagal. Jika gagal, program akan mencetak pesan kesalahan dan keluar dari fungsi loop().
  Serial.print("Suhu: ");
  Serial.print(t);
  Serial.print(" °C, Kelembapan: ");
  Serial.print(h);
  Serial.println(" %");

}
  • Jika pembacaan berhasil, program mencetak nilai suhu dan kelembapan ke Serial Monitor. Menggunakan Serial.print() untuk mencetak nilai secara berurutan, dan Serial.println() untuk mencetak baris baru.
  1. Upload Program
  • Pilih Board: Raspberry Pi Pico dari menu Tools > Board.
  • Pilih Port yang sesuai dari menu Tools > Port.
  • Klik tombol Upload untuk mengunggah kode ke Raspberry Pi Pico W.
  1. Monitoring Hasil
  • Buka Serial Monitor dengan menekan Ctrl + Shift + M.
  • Atur baud rate ke 115200.
  • Amati data suhu dan kelembapan yang ditampilkan.

Analisis

  • Catat nilai suhu dan kelembapan yang terbaca.
  • Diskusikan bagaimana variasi lingkungan dapat memengaruhi hasil pembacaan.

Kesimpulan

  1. Sensor DHT11 berhasil membaca suhu dan kelembapan.
  2. Raspberry Pi Pico W dapat digunakan untuk menghubungkan dan membaca data dari berbagai sensor.

Pertanyaan

  1. Apa kegunaan sensor DHT11 dalam kehidupan sehari-hari?
  2. Apa saja faktor yang dapat memengaruhi akurasi pembacaan sensor?

Related Articles

Leave a Reply

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