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 16x2 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: Membaca Data Suhu Dan Kelembaban Sensor DHT11. Cara Mudah Program LCD I2C Dengan NodeMCU ESP8266. Daftar Isi Apa itu Sensor DHT11 Cara kerja Sensor DHT11 Spesifikasi Pin Out Sensor DHT11 Komponen Diagram Wiring Implementasi Kode Program Langkah-langkah di Arduino IDE Hasil Akhir Video Tutorial FAQ Kesimpulan 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 16x2 Modul I2C Kabel Jumper (Male - Female, Female - Female) Kabel USB Arduino IDE BLYNK Diagram Wiring LCD 16x2 I2CModul TrainerNode MCUGNDGNDVCCVCCSDASDAD2(GPIO4)SCLSCLD1(GPIO5)DHT11D4(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. 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.