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?









