LAPORAN PRAKTIKUM
MONITORING
SUHU DAN KELEMBAPAN RUANGAN MENGGUNAKAN ESP32 DAN SENSOR DHT11 BERBASIS
APLIKASI BLYNK
Disusun
oleh:
Muhammad
Zuhri Musthofa 26051204076
Muhammad
Dafa Al Ali 26051204080
Mochammad
Hafiz Romadhon 26051204112
Theresia Sherafin Olivia Ramadani 26051204190
BAB
I PENDAHULUAN
1. Latar belakang
Suhu dan
kelembapan udara dalah dua parameter lingkungan yang sangat memengaruhi
kenyamanan penghuni ruangan, kualitas penyimpanan barang, serta kinerja
peralatan elektronik. Pemantauan kedua parameter ini secara terus-menerus dan
dari jarak jauh menjadi kebutuhan yang semakin umum, baik di rumah,
laboratorium, ruang server, maupun dalah.
Perkembangan
Internet of Things (IoT) memungkinkan hal tersebut dilakukan dengan biaya
rendah. ESP32 adalah mikrokontroler yang sudah dilengkapi modul WiFi sehingga
dapat langsung terhubung ke internet tanpa modul tambahan. Sensor DHT11 mampu
mengukur suhu dan kelembapan sekaligus dengan keluaran digital yang mudah
dibaca. Platform Blynk menyediakan dashboard di aplikasi smartphone sehingga
data sensor dapat dipantau secara real-time lewat HP.
Pada praktikum ini ketiga komponen tersebut dirangkai
menjadi dalah monitoring suhu dan kelembapan ruangan yang dapat diakses melalui
aplikasi Blynk di smartphone.
2. Tujuan Praktikum
Tujuan dari praktikum ini dalah sebagai berikut:
1.
Memahami prinsip kerja sensor
DHT11 dalam mengukur suhu dan kelembapan udara.
2.
Merangkai sensor DHT11 dengan
mikrokontroler ESP32.
3.
Membuat program pembacaan suhu
dan kelembapan pada ESP32 menggunakan Arduino IDE.
4.
Mengirimkan data sensor ke
platform Blynk melalui jaringan WiFi.
5.
Memantau suhu dan kelembapan
ruangan secara real-time melalui aplikasi Blynk di smartphone.
6.
Menganalisis hasil pengukuran
dan akurasi sensor DHT11.
BAB II TINJAUAN PUSAKA
3. Dasar Teori
3.1 ESP32:
ESP32 adalah
mikrokontroler buatan Espressif Systems dengan prosesor 32-bit dual-core dan
konektivitas WiFi 2,4 GHz serta Bluetooth bawaan. Papan pengembangan ESP32
(DevKit) memiliki banyak pin GPIO, ADC, serta mendukung pemrograman melalui
Arduino IDE. ESP32 bekerja pada level logika 3,3 V, sehingga pin GPIO-nya tidak
toleran terhadap tegangan 5 V.
3.2 Sensor DHT11
DHT11 adalah
sensor digital yang mengukur suhu dan kelembapan relatif udara. Di dalamnya
terdapat sensor kelembapan kapasitif, termistor untuk suhu, dan chip yang
mengubah hasil pengukuran menjadi sinyal digital yang dikirim lewat satu kabel
data (single-wire). Karakteristik umum DHT11 ditunjukkan pada Tabel 1.
Tabel 1. Spesifikasi umum sensor DHT11
|
Parameter |
Nilai |
|
Tegangan kerja |
3 – 5,5 V DC |
|
Rentang pengukuran suhu |
0 – 50 °C |
|
Akurasi suhu |
± 2 °C |
|
Rentang pengukuran kelembapan |
20 – 90 % RH |
|
Akurasi kelembapan |
± 5 % RH |
|
Resolusi |
1 °C dan 1 % RH |
|
Laju pembacaan maksimum |
1 kali per detik (1 Hz) |
|
Keluaran |
Digital, single-wire |
3.3 Blynk
Blynk adalah
platform IoT yang menyediakan cloud, dashboard web, dan aplikasi mobile untuk
memantau serta mengendalikan perangkat. Data dari perangkat dikirim ke cloud
melalui Virtual Pin (misalnya V0 dan V1), lalu ditampilkan pada widget seperti
Gauge, Label, atau Chart di aplikasi HP. Setiap perangkat diidentifikasi oleh
tiga parameter: Template ID, Template Name, dan Auth Token.
3.4 Suhu dan
Kelembapan Relatif
Suhu menyatakan
tingkat panas atau dinginnya udara dan dinyatakan dalam derajat Celsius (°C).
Kelembapan relatif (RH) menyatakan perbandingan antara jumlah uap air di udara
dengan jumlah uap air maksimum yang dapat ditampung udara pada suhu yang sama,
dinyatakan dalam persen (%). Pada kondisi uap air yang tetap, kenaikan suhu
akan menurunkan nilai kelembapan relatif, begitu pula sebaliknya.
BAB III PEMBAHASAN
4. Alat dan Bahan
Tabel 2. Daftar alat dan bahan
|
No. |
Nama |
Jumlah |
Keterangan |
|
1 |
Papan ESP32 DevKit |
1 |
Mikrokontroler utama |
|
2 |
Sensor DHT11 |
1 |
Modul 3 pin, atau sensor 4 pin
dengan resistor pull-up 10 kΩ |
|
3 |
Kabel jumper |
Secukupnya |
Male-to-male / male-to-female |
|
4 |
Breadboard |
1 |
Papan rangkaian tanpa solder |
|
5 |
Kabel USB data |
1 |
Untuk upload program dan catu daya |
|
6 |
Laptop / PC |
1 |
Terpasang Arduino IDE |
|
7 |
Smartphone |
1 |
Terpasang aplikasi Blynk |
|
8 |
Jaringan WiFi 2,4 GHz |
1 |
Dengan akses internet |
5. Rangkaian
Percobaan
Sensor DHT11
dihubungkan ke ESP32 sesuai Tabel 3. Pin DATA dihubungkan ke GPIO 4. Jika
menggunakan sensor DHT11 4 pin (bukan modul), pasang resistor pull-up 10 kΩ
antara pin VCC dan pin DATA, dan pin ketiga (NC) dibiarkan kosong.
Tabel 3. Koneksi pin DHT11 ke ESP32
|
Pin DHT11 |
Pin ESP32 |
Warna kabel (saran) |
|
VCC |
3V3 |
Kuning |
|
DATA (OUT) |
D4 |
Oren |
|
GND |
GND |
Ungu |
Gambar 1. Rangkaian ESP32 dan DHT11
6. Langkah Kerja
6.1 Menyiapkan
Akun dan Template Blynk
1.
Buka blynk.cloud, buat akun,
lalu login.
2.
Buat Template baru dengan nama
“Monitoring Suhu”, Hardware: ESP32, Connection Type: WiFi.
3.
Pada tab Datastreams, buat dua
Virtual Pin: V0 bernama “Suhu” (tipe Double, satuan °C, rentang 0–50) dan V1
bernama “Kelembapan” (tipe Double, satuan %, rentang 0–100).
4.
Pada tab Web Dashboard,
tambahkan widget Gauge atau Chart untuk V0 dan V1, lalu klik Save.
5.
Buat perangkat baru dari
template tersebut (New Device → From Template). Salin nilai BLYNK_TEMPLATE_ID,
BLYNK_TEMPLATE_NAME, dan BLYNK_AUTH_TOKEN yang muncul.
6.
Pasang aplikasi Blynk di HP,
login dengan akun yang sama, lalu tampilkan perangkat. Tambahkan widget Gauge
untuk V0 (Suhu) dan V1 (Kelembapan), serta Chart bila diperlukan.
Catatan:
tampilan menu Blynk dapat sedikit berbeda tergantung versi aplikasi.
6.2 Menyiapkan
Arduino IDE
1.
Tambahkan dukungan board ESP32
melalui Boards Manager (cari “esp32” oleh Espressif Systems), lalu pasang.
2.
Pasang library melalui Library
Manager: Blynk, DHT sensor library (Adafruit), dan Adafruit Unified Sensor.
3.
Pilih board “ESP32 Dev Module”
dan port COM yang sesuai.
6.3 Merangkai
Perangkat Keras
1.
Pasang ESP32 pada breadboard
dan pastikan USB belum terhubung ke laptop.
2.
Hubungkan VCC DHT11 ke 3V3,
DATA ke GPIO 4, dan GND ke GND sesuai Tabel 3.
3. Periksa kembali sambungan kabel sebelum catu daya dinyalakan.
6.4 Mengunggah
Program
1.
Salin program pada bagian 7 ke
Arduino IDE.
2.
Isi BLYNK_TEMPLATE_ID,
BLYNK_TEMPLATE_NAME, BLYNK_AUTH_TOKEN, serta nama dan password WiFi.
3.
Klik Upload. Bila proses
terhenti pada “Connecting…”, tekan dan tahan tombol BOOT pada ESP32 hingga
upload dimulai.
4.
Buka Serial Monitor (baud rate
115200) untuk memastikan ESP32 terhubung ke WiFi dan Blynk serta data sensor
tercetak.
6.5 Pengujian dan
Pengambilan Data
1.
Buka aplikasi Blynk di HP dan
pastikan perangkat berstatus Online.
2.
Amati nilai suhu dan kelembapan
pada widget Gauge dan Chart.
3.
Catat data pada selang waktu
tertentu (misalnya tiap 5 menit) dan bandingkan dengan termometer-hygrometer
pembanding bila tersedia.
4.
Uji respons sensor dengan
memberi perubahan kondisi, misalnya meniup sensor atau mendekatkannya ke sumber
hawa dingin dari AC, lalu amati perubahan nilai pada aplikasi.
7. Program
Program berikut membaca DHT11
setiap 2 detik dan mengirim hasilnya ke Virtual Pin V0 (suhu) dan V1
(kelembapan) di Blynk.
// ===== Konfigurasi Blynk
(isi sesuai template & device Anda) =====
#define
BLYNK_TEMPLATE_ID
"ISI_TEMPLATE_ID"
#define BLYNK_TEMPLATE_NAME
"Monitoring Suhu"
#define
BLYNK_AUTH_TOKEN
"ISI_AUTH_TOKEN"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include
<BlynkSimpleEsp32.h>
#include <DHT.h>
// ===== Konfigurasi WiFi
(harus jaringan 2,4 GHz) =====
char ssid[] =
"NAMA_WIFI";
char pass[] =
"PASSWORD_WIFI";
// ===== Konfigurasi sensor
=====
#define DHTPIN 4
// DATA DHT11 ke GPIO 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
void kirimData() {
float h = dht.readHumidity();
float t = dht.readTemperature(); // dalam derajat Celsius
if (isnan(h) || isnan(t)) {
Serial.println("Gagal membaca sensor
DHT11!");
return;
}
Blynk.virtualWrite(V0, t); // Suhu
-> Virtual Pin V0
Blynk.virtualWrite(V1, h); // Kelembapan -> Virtual Pin V1
Serial.print("Suhu: ");
Serial.print(t);
Serial.print(" C | Kelembapan: ");
Serial.print(h);
Serial.println(" %");
}
void setup() {
Serial.begin(115200);
dht.begin();
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(2000L, kirimData); // kirim data tiap 2 detik
}
void loop() {
Blynk.run();
timer.run();
}
Penjelasan singkat program:
•
Definisi BLYNK_TEMPLATE_ID,
BLYNK_TEMPLATE_NAME, dan BLYNK_AUTH_TOKEN harus ditulis sebelum baris #include
agar perangkat dikenali oleh Blynk.
•
Fungsi dht.readTemperature()
dan dht.readHumidity() membaca suhu (°C) dan kelembapan relatif (%).
•
Pengecekan isnan() mencegah
data tidak valid terkirim bila pembacaan sensor gagal.
•
BlynkTimer menjalankan fungsi
kirimData() setiap 2 detik tanpa menggunakan delay(), sehingga koneksi Blynk
tetap terjaga.
•
Blynk.virtualWrite() mengirim
nilai ke Virtual Pin yang sudah dibuat pada template.
8. Hasil dan
Pembahasan
8.1 Hasil
Pengamatan
Data hasil pengukuran suhu dan kelembapan ruangan dicatat pada Tabel 4. Isi tabel ini dengan data yang Anda peroleh saat praktikum.
Tabel 4. Hasil pengukuran suhu dan kelembapan ruangan
|
No. |
Waktu |
Suhu Blynk (°C) |
Kelembapan Blynk (%) |
Ket. |
|
1 |
08.00 |
33°C |
60% |
pengukuran awal
suhu dan kelembapan ruangan sebagai data acuan untuk pengamatan selanjutnya |
|
2 |
10.59 |
34°C |
59,8% |
Terjadi
peningkatan suhu ruangan sebesar 1°C dan penurunan kelembapan sebesar 0,2% |
8.2 Pembahasan
Sistem bekerja
dengan alur sebagai berikut: sensor DHT11 mengukur suhu dan kelembapan ruangan,
ESP32 membaca data tersebut melalui pin GPIO 4, kemudian mengirimkannya melalui
WiFi ke cloud Blynk. Data yang tiba di cloud langsung ditampilkan pada widget
di aplikasi Blynk sehingga pengguna dapat memantau kondisi ruangan dari HP
selama perangkat dan HP sama-sama terhubung ke internet.
Berdasarkan Tabel
4, suhu ruangan yang terbaca berkisar antara [isi nilai minimum] °C hingga [isi
nilai maksimum] °C, sedangkan kelembapan berkisar antara [isi nilai minimum] %
hingga [isi nilai maksimum] %. Pada saat suhu ruangan naik, kelembapan relatif
cenderung turun, dan sebaliknya, sesuai dengan teori hubungan suhu dan
kelembapan relatif. [Sesuaikan dengan tren yang benar-benar Anda amati.]
Jika dibandingkan
dengan alat pembanding, selisih pembacaan suhu adalah [isi selisih] °C dan
selisih kelembapan [isi selisih] %. Selisih ini [masih / sudah melebihi] batas
akurasi DHT11 yaitu ± 2 °C untuk suhu dan ± 5 % RH untuk kelembapan. Perbedaan
dapat disebabkan oleh keterbatasan akurasi sensor, perbedaan posisi peletakan
sensor dan alat pembanding, serta waktu respons sensor yang relatif lambat.
Beberapa faktor yang memengaruhi hasil pengukuran antara lain hawa dari AC atau kipas, paparan sinar matahari langsung, panas dari ESP32 yang berada dekat sensor, dan sirkulasi udara di dalam ruangan. Karena DHT11 hanya mampu membaca satu kali per detik dan resolusinya 1 °C / 1 % RH, sensor ini cocok untuk monitoring ruangan secara umum, tetapi kurang sesuai untuk aplikasi yang membutuhkan ketelitian tinggi.
8.3 Kendala dan
Solusi
|
Kendala |
Solusi |
|
Serial Monitor menampilkan “Gagal
membaca sensor DHT11!” |
Periksa sambungan VCC, DATA, GND;
pastikan DHTPIN sesuai (GPIO 4); pasang resistor pull-up 10 kΩ bila memakai
sensor 4 pin. |
|
ESP32 tidak terhubung ke WiFi |
Pastikan SSID dan password benar
serta jaringan berfrekuensi 2,4 GHz (ESP32 tidak mendukung 5 GHz). |
|
Perangkat Offline di Blynk |
Periksa Template ID, Template Name,
dan Auth Token; pastikan ada akses internet; reset ESP32. |
|
Upload gagal pada “Connecting…” |
Tekan dan tahan tombol BOOT saat
upload dimulai; ganti kabel USB dengan yang mendukung data; periksa port COM. |
|
Data di widget tidak muncul |
Pastikan widget terhubung ke
Virtual Pin yang benar (V0 dan V1) dan tipe datastream sesuai. |
BAB IV PENUTUP
9. Kesimpulan
Dari praktikum yang telah dilakukan dapat disimpulkan
bahwa:
1.
Sensor DHT11 dapat dihubungkan
ke ESP32 melalui satu pin data digital (GPIO 4) untuk mengukur suhu dan
kelembapan ruangan.
2.
ESP32 dapat mengirimkan data
sensor ke Blynk melalui WiFi menggunakan Virtual Pin V0 untuk suhu dan V1 untuk
kelembapan.
3.
Aplikasi Blynk di smartphone
dapat menampilkan suhu dan kelembapan ruangan secara real-time sehingga ruangan
dapat dipantau dari jarak jauh.
4. Hasil pembacaan DHT11 [sesuai / sedikit berbeda] dengan alat pembanding dan masih dalam batas akurasi sensor, sehingga sistem ini layak dipakai untuk monitoring kondisi ruangan secara umum.
10. Saran
•
Gunakan sensor yang lebih
akurat seperti DHT22 atau SHT31 bila dibutuhkan ketelitian yang lebih tinggi.
•
Tambahkan notifikasi di Blynk
(event) agar pengguna mendapat peringatan saat suhu atau kelembapan melewati
batas tertentu.
•
Letakkan sensor menjauh dari
sumber panas, AC, dan sinar matahari langsung agar hasil pengukuran lebih
representatif.
•
Kembangkan sistem dengan
penyimpanan data (datalogging) dan kendali perangkat, misalnya mengaktifkan
kipas atau pelembap udara secara otomatis.
Daftar Pustaka
Aosong Electronics. Datasheet DHT11 Humidity & Temperature
Sensor.
Espressif Systems. ESP32 Series Datasheet.
Blynk Inc. Blynk Documentation. https://docs.blynk.io
Adafruit Industries. DHT sensor library (Arduino Library). https://github.com/adafruit/DHT-sensor-library
Lampiran

Tidak ada komentar:
Posting Komentar