
Halo sahabat Edutic, bagaimana kabarnya? Luar biasa bukan… kali ini kita akan belajar cara Monitoring suhu dan kelembaban ruangan melalui Blynk dengan menggunakan sensor DHT 11. Tentunya dengan dukungan dari perangkat ESP8266 dan Blynk. Mungkin beberapa sahabat disini sudah pernah menggunakan sensor DHT 11 tetapi masih menggunakan Arduino saja, kali ini kita akan Upgrade Skill ke tutorial IOT.
Jika pada Tutorial Sebelumnya kita sudah menampilkan data suhu dan kelembaban di Serial Monitor pada Arduino IDE dan menampilkan hasilnya pada LCD 16×2 I2C, sekarang kita akan mengirim data suhu dan kelembabannya pada platfrom Blynk.
Jika teman-teman belum pernah menggunakan sensor DHT11 dan cara program LCD I2C sebelumnya, saya menyarankan untuk melihat terlebih dahulu blog sebelumnya yaitu:
Daftar Isi
Apa itu Sensor DHT11?
Sensor DHT11 adalah salah satu sensor yang berfungsi untuk mengukur suhu dan kelembaban relatif. Sensor ini kompatibel dengan mikrokontroler dan dapat dengan mudah ditemukan di toko online dengan harga yang sangat terjangkau.
Ada satu lagi sensor yang sama dengan DHT11 yaitu DHT22. Kedua sensor ini sama saja jika dilihat dari cara kerjanya, yang membedakannya hanya spesifikasi dari kedua sensor.
Cara Kerja Sensor DHT11
Sensor DHT11 maupun DHT22 mampu mendeteksi suhu menggunakan sebuah komponen yang bernama termistor. Sedangkan untuk mendeteksi kelembaban relatif menggunakan substrat penahan kelembaban dengan elektroda.
Spesifikasi
Berikut adalah daftar spesifikasi dari kedua sensor yang perlu diperhatikan agar pada saat menggunakannya tidak terjadi kesalahan yang dapat merusak sensor maupun komponen elektronik lain.
Spesifikasi DHT11:
- Tegangan kerja = 3.3V-5V.
- Arus maksimum = 2.5mA.
- Range pengukuran kelembaban = 20%-80%.
- Akurasi pengukuran kelembaban = 5%.
- Range pengukuran suhu = 0°C-50°C.
- Akurasi pengukuran suhu = 2°C.
- Kecepatan pengambilan sampel tidak lebih dari 1 Hz (setiap detik).
- Ukuran = 15.5 mm x 12 mm x 5.5 mm.
Spesifikasi DHT22:
- Tegangan kerja = 3.3V-5V.
- Arus maksimum = 2.5mA.
- Range pengukuran kelembaban = 0%-100%.
- Akurasi pengukuran kelembaban = 2-5%.
- Range pengukuran suhu = -40°C-80°C.
- Akurasi pengukuran suhu = 0.5°C.
- Kecepatan pengambilan sampel tidak lebih dari 0.5 Hz (setiap detik).
- Ukuran = 15.1 mm x 25 mm x 7.7 mm.
- 4 pin dengan jarak 0,1 “.
Pin Out Sensor DHT11
Pin yang terdapat pada sensor DHT11 dan DHT22 berjumlah 4 buah, tapi yang digunakan hanya 3 buah, yaitu VCC, GND dan DATA. Namun apabila kalian membeli sensor DHT11 yang sudah berupa modul, biasanya hanya terdapat 3 pin, bukan 4 pin. Karena pin DHT11 dan DHT22 sama saja, maka pada gambar di bawah ini hanya menampilkan sensor DHT22 saja sebagai perwakilan.
4 Buah Pin Sensor
![]() |
Sensor DHT dengan 4 Buah Pin |
3 Buah Pin Sensor
![]() |
Sensor DHT dengan 3 Buah Pin |
Komponen
- Modul Trainer IOT
- Board NodeMCU ESP8266
- Display LCD 16×2
- Modul I2C
- Kabel Jumper (Male – Female, Female – Female)
- Kabel USB
- Arduino IDE
- BLYNK
Diagram Wiring

LCD 16×2 I2C | Modul Trainer | Node MCU |
GND | GND | |
VCC | VCC | |
SDA | SDA | D2(GPIO4) |
SCL | SCL | D1(GPIO5) |
DHT11 | D4(GPIO2) |
Implementasi
- Langkah Pertama, kita perlu membuat halaman interface pada Website Blynk, langkah-langkahnya sebgaia berikut :
- Silahkan kunjungi website Blynk pada link berikut https://blynk.cloud/dashboard/login dan bila sudah punya akun silahkan login dengan akun kalian jika belum buat akun terlebih dahulu.
- Klik “New Template”.
- Lakukan setting pada template yang akan kita buat, berikan nama untuk project dan pilihan hardware pilih ESP8266 lalu klik Done.
- Klik Datastream.
- Pada halaman Datastream, Klik “New Datastream”, lalu pilih Virtual Pin.
- Lakukan setelan untuk datastream suhu dan kelembaban dengan Suhu pada datastream V0, dan kelembaban pada datastream V1, detail seperti gambar berikut, lalu klik Create.
- Selanjutnya klik Web dashboard untuk membuat tampilan data pembacaan sensor.
- Pada kolom Widget box, silakan cari Label kemudian klik 2kali.
- Klik icon Gear pada Label yang baru ditambahkan.
- Lakukan setting pada label antara lain nama Label dan datastream-nya, lalu Save.
- Ulangi lagi dari langkah ke-8 untuk membuat label Kelembaban, setelah itu Klik Save, lalu Klik gambar Device di sebelah kiri layar.
- Klik New Device
- Pilih From Template.
- Pilih template yang tadi telah dibuat, lalau klik Create.
- Copy kode dalam kotak merah, kode tersebut akan dimasukan kedalam koding NodeMCU nantinya, klik pada kotak untuk mencopy kode.
- Silahkan kunjungi website Blynk pada link berikut https://blynk.cloud/dashboard/login dan bila sudah punya akun silahkan login dengan akun kalian jika belum buat akun terlebih dahulu.
- Sampai sini pengaturan untuk halaman interface Blynk telah selesai. Selanjutnya kita coding untuk NodeMCUnya di Arduino IDE.
- Selanjutnya buka aplikasi Arduino IDE kalian untuk setting konfigurasinya.
- Install Board ESP8266
- Buka File > Preferences di Arduino IDE.
- Tambahkan URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json di Additional Boards Manager URLs.
- Pilih Tools > Board > Board Manager.
- Masukkan “esp8266” pada kolom pencarian, akan muncul pilihan board esp8266 by ESP8266 Community, untuk versi Board pilih 2.5.2, kemudian klik Install.
- Jika Instalasi benar, akan muncul board Esp8266.
- Pada menu pemilihan board Pilih board NodeMCU 1.0 (ESP-12E Module).
- Install Library
- Silahkan download terlebih dahulu Library yang diperlukan (Disini).
- Setelah di download, file .zip library tidak perlu di ekstrak ya. Tinggal ikuti langkah berikut :
- Pada Arduino IDE, klik Menu Sketch -> Include Library -> Add .ZIP Library…
- Cari file Library yang sudah di Download sebelumnya, lalu pilih dan klik Open.
Kode Program
//COPYKAN KODE BLYNK ANDA DISINI////////
#define BLYNK_TEMPLATE_ID "XXXXXXXXXXXX"
#define BLYNK_TEMPLATE_NAME "XXXXXXXXXXX"
#define BLYNK_AUTH_TOKEN "XXXXXXXXXXXX"
/////////////////////////////////
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
char ssid[] = "XXXXXXX"; // Nama Wifi
char pass[] = "XXXXXXXXX"; // Password Wifi
char auth[] = BLYNK_AUTH_TOKEN;
#define DHTPIN 2 // PIN D4
#define DHTTYPE DHT11
//#define DHTTYPE DHT22 //HAPUS tanda "//" di depan #define jika DHT yang digunakan DHT22
// Koneksi LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
// Membuat karakter khusus untuk simbol suhu (°C) dan kelembaban (%)
byte suhuIcon[8] = {
B00100,
B01010,
B01010,
B00100,
B00000,
B00100,
B00100,
B00000
};
byte lembabIcon[8] = {
B00100,
B00100,
B01010,
B10001,
B10001,
B01110,
B00000,
B00000
};
void setup() {
Serial.begin(115200);
timer.setInterval(2000L, sendSensor);
Blynk.begin(auth, ssid, pass);
lcd.init();
lcd.backlight(); // Mengaktifkan lampu latar LCD
lcd.clear();
// Membuat simbol custom pada memori LCD
lcd.createChar(0, suhuIcon); // Simbol suhu
lcd.createChar(1, lembabIcon); // Simbol kelembaban
lcd.setCursor(0, 0);
lcd.print("Suhu & Lembab");
delay(2000); // Tunggu 2 detik untuk menampilkan pesan awal
}
void loop() {
Blynk.run();
timer.run();
}
void sendSensor(){
// Membaca suhu dan kelembapan
float t = dht.readTemperature();
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
Serial.println("Gagal membaca dari sensor DHT!");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sensor Error");
return;
}
Serial.println(String(t) + " / " + String(h));
Blynk.virtualWrite(V0, t);
Blynk.virtualWrite(V1, h);
// Menampilkan data di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.write(byte(0)); // Menampilkan simbol suhu
lcd.print("Suhu: ");
lcd.print(t, 1);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.write(byte(1)); // Menampilkan simbol kelembaban
lcd.print("Lembab : ");
lcd.print(h, 1);
lcd.print("%");
}
Langkah-langkah di Arduino IDE
- Memverifikasi Kode
- Klik tombol Verify untuk memeriksa kesalahan pada kode.
- Upload Program
- Hubungkan ESP8266 ke komputer.
- Pilih board ESP8266, pastikan board yang dipilih NodeMCU 1.0 ESP-12E, uploud speed adalah 921600, dan Port telah sesuai.
- Klik tombol Upload untuk mengunggah program.
Hasil Akhir
Jika berhasil maka akan tampil seperti gambar dibawah ini:

Video Tutorial
FAQ
Apa fungsi utama dari proyek ini?
Proyek ini digunakan untuk memantau suhu dan kelembapan ruangan secara real-time menggunakan sensor DHT11 dan ESP8266, yang datanya dapat diakses melalui aplikasi Blynk di smartphone.
Apa itu sensor DHT11?
DHT11 adalah sensor yang dapat mengukur suhu dan kelembapan lingkungan. Sensor ini sering digunakan dalam proyek IoT karena mudah diintegrasikan dengan mikrokontroler seperti ESP8266.
Apa fungsi ESP8266 dalam proyek ini?
ESP8266 adalah modul Wi-Fi yang menghubungkan sensor DHT11 ke internet. Modul ini mengirimkan data suhu dan kelembapan ke aplikasi Blynk sehingga bisa dipantau dari jarak jauh.
Bagaimana cara kerja Blynk dalam proyek ini?
Blynk adalah platform IoT yang memungkinkan pengguna memantau dan mengontrol perangkat melalui aplikasi mobile. Dalam proyek ini, Blynk menampilkan data suhu dan kelembapan yang diterima dari ESP8266, memberikan pengguna akses real-time melalui smartphone.
Apakah proyek ini bisa dikembangkan lebih lanjut?
Ya, proyek ini bisa dikembangkan dengan menambahkan fitur seperti otomatisasi kontrol suhu, notifikasi peringatan jika suhu atau kelembapan berada di luar batas tertentu, atau integrasi dengan perangkat rumah pintar lainnya.
Apa kendala umum dalam proyek ini?
Beberapa kendala umum adalah koneksi Wi-Fi yang tidak stabil atau kesalahan dalam pengaturan pin dan konfigurasi di Arduino IDE. Pastikan semua komponen terhubung dengan benar dan ESP8266 memiliki akses yang stabil ke internet.
Bisakah saya menggunakan sensor lain selain DHT11?
Ya, Anda bisa menggunakan sensor lain seperti DHT22 atau DS18B20 untuk mengukur suhu dan kelembapan dengan akurasi yang lebih tinggi, namun diperlukan penyesuaian pada kode dan library yang digunakan.
Kesimpulan
Project ini bertujuan untuk memantau suhu dan kelembapan ruangan secara real-time menggunakan sensor DHT11 yang terhubung ke ESP8266. Data dari sensor dikirim melalui Wi-Fi ke aplikasi Blynk, memungkinkan pengguna untuk memantau kondisi ruangan dari jarak jauh.
Langkah-langkah utama dalam project ini meliputi pengaturan perangkat keras, pemrograman ESP8266 dengan Arduino IDE, serta integrasi Blynk untuk memantau data. Sistem ini sangat berguna untuk aplikasi rumah pintar (smart home) dan otomatisasi, di mana pengguna dapat dengan mudah mengawasi lingkungan rumah mereka melalui smartphone.
1 Comment.