elektronika
DHT11 Temperature and Humidity Sensor dengan Raspberry Pi Pico W

Tujuan
- Memahami cara kerja sensor DHT11.
- Mempelajari cara membaca data dari sensor menggunakan Raspberry Pi Pico W.
- Menggunakan Arduino IDE untuk pemrograman.
Alat dan Bahan
- Raspberry Pi Pico W
- Sensor DHT11
- Breadboard
- Jumper wire
- Komputer dengan Arduino IDE terinstal
Diagram Rangkaian
Raspberry Pi Pico W DHT11
——————— ———
GND -> GND
3.3V -> VCC
GPIO 15 -> DATA
Langkah-Langkah
- 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.
- Instalasi Library
- Buka Arduino IDE.
- Pergi ke Sketch > Include Library > Manage Libraries.
- Cari “DHT sensor library” oleh Adafruit, lalu instal.
- 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.
- 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.
- 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
- Sensor DHT11 berhasil membaca suhu dan kelembapan.
- Raspberry Pi Pico W dapat digunakan untuk menghubungkan dan membaca data dari berbagai sensor.
Pertanyaan
- Apa kegunaan sensor DHT11 dalam kehidupan sehari-hari?
- Apa saja faktor yang dapat memengaruhi akurasi pembacaan sensor?