Pada topik blog kali ini saya ingin membagikan apa yang telah saya pelajari selama beberapa hari belakangan. deteksi suhu menggunakan sensor DHT11 yang nantinya sensor tersebut akan dihubungkan dengan nodeMCU yang merupakan modul pemrosesan Wifi yang berbasis ESP8266.selain itu juga nantinya ini akan bisa ditampilkan di blynk console serta aplikasi mobile dari blynk.
Untuk melanjutkan project ini dibutuhkan beberapa tahapan serta perlengkapan pendukung diantaranya adalah:
1. Perlengkapan dan Komponen
hal hal yang perlu dipersiapkan untuk melanjutkan projects ini adalah:
a. Software
- Arduino IDE : Software Arduino IDE diperlukan untuk melakukan konfigurasi NodeMcu serta juga melakukan koding untuk memprogram nodeMcu dan sensor DHT11 yang nantinya juga output dari sensor ini tidak akan ditampilkan dalam serial monitor arduino IDE saja tapi akan ditampilkan juga di smartphone dengan menggunakan aplikasi blynk serta blynk console.
- Blynk (Mobile apps): blynk nantinya akan digunakan untuk menampilkan hasil output yang didapatkan dari sensor ke dalam smartphone anda, dimana kita akan menggunakan
- Blynk console : blynk console digunakan untuk melihat mendapat kode autentikasi yang nantinya akan digunakan untuk konfigurasi kode di arduino IDE.
b. Hardware
- Node Mcu 8266 : NodeMCU ESP8266 adalah sebuah sistem-terpadu (System-on-a-chip) yang menggabungkan mikrokontroler, Wi-Fi, dan antarmuka pemrograman. Ini memiliki sebuah prosesor 32-bit dengan kapasitas 80 MHz serta memori flash yang dapat digunakan untuk menyimpan kode program. ESP8266 sangat cocok untuk proyek Internet of Things (IoT) dan penggunaan lain yang membutuhkan koneksi Wi-Fi. NodeMCU ESP8266 juga dilengkapi dengan sejumlah pin I/O yang dapat digunakan untuk menghubungkan dengan perangkat eksternal seperti sensor, aktor, atau display. Kelebihan lain dari NodeMCU ESP8266 adalah harganya yang sangat terjangkau dan mudah dalam hal pemrograman.
- Kabel Jumper: Kabel Jumper adalah kabel pendek dengan konektor pada kedua ujungnya, yang digunakan untuk menghubungkan antara dua perangkat elektronik atau komponen. Kabel ini sangat umum digunakan pada proyek elektronik dan pemrograman, terutama dalam bidang robotika dan pengembangan perangkat keras.
Kabel Jumper tersedia dalam berbagai ukuran dan warna, memungkinkan pengguna untuk membedakan dan mengelompokkan koneksi yang berbeda. Biasanya, konektor pada kabel jumper dapat dipasang pada header pada perangkat keras, membuat proses penghubungan menjadi sangat mudah dan cepat. Kabel Jumper juga dapat dipotong sesuai dengan panjang yang dibutuhkan, sehingga mempermudah pembuatan tata letak pada proyek elektronik.
- Sensor Suhu DHT : Sensor suhu dan kelembaban DHT11 adalah salah satu jenis sensor yang digunakan untuk memantau suhu dan kelembaban udara. Ini adalah sensor yang mudah digunakan dan murah, sehingga sangat populer digunakan dalam proyek-proyek elektronik dan Internet of Things (IoT).
Sensor DHT11 memiliki sebuah chip yang mengukur suhu dan kelembaban udara dan memproses informasi ini sebelum mengirimkan data melalui jalur data. Data yang diterima dapat diolah dan ditampilkan pada perangkat elektronik seperti komputer, ponsel, atau display. Sensor ini sangat akurat dalam mengukur suhu dan kelembaban udara, membuatnya cocok untuk aplikasi seperti sistem pemantauan lingkungan, sistem pemantauan kebun binatang, dan banyak lagi.
Sensor DHT11 juga memiliki kelebihan lain seperti konsumsi daya yang rendah, ukuran yang kecil, dan harga yang terjangkau. Oleh karena itu, ini menjadi pilihan yang baik bagi para hobbyis dan pemula dalam bidang elektronik dan pemrograman.
2. Menghubungkan Komponen
- Persiapkan Kabel Jumper 3 biji female to female. hubungkan kabel jumper dengan sensor suhu dan kelembaban DHT11, untuk warna dari kabel jumper itu sendiri bisa bebas tapi secara umum khusus ground dipakai warna hitam, yang dihubungkan ke bagian (-) pada sensor kemudian di hubungkan dengan gnd atau g pada node mcu, selanjutnya adalah bagian (+) dihubungkan dengan bagian 3v atau 5v yang terdapat pada nodemcu yang digunakan sebagai power, selanjutnya untuk bagian (output) dihubungkan dengan salah satu bagian dari D1, D2, dan seterusnya, ini digunakan untuk jalur membagikan data dari sensor ke node mcu.
- hubungkan nodemcu dengan pc atau laptop untuk memberikan intruksi melalui arduino IDE dengan coding.
- selanjutnya adalah konfigurasi arduino ide dengan node mcu, hal pertama yang harus dilakukan adalah mencari install arduino ide seperti biasa, kemudian masuk ke menu file > preferences kemudian pada bagian additional board manager url silahkan masukkan url berikut:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
setelah url berhasil di masukkan pilih OK
- install library esp8266 pada bagian tools > manage libraries kemudian cari esp8266 dan install library tersebut.
- bila library telah di install langkah selanjutnya adalah memilih board dari library esp8266, masuk ke bagian tools > board > kemudian pilih board Esp8266 yang telah berhasil di install sebelumnya, kemudian nanti akan muncul pilihan, pilih NodeMcu1.0
- masuk ke tools lagi > kemudian pilih port yang tersedia, cek apakah nodemcu tersebut telah berhasil terhubung dengan pc atau laptop anda, ketika telah terhubung nantinya akan muncul nama dari port yang terhubung dengan nodeMcu saya di sini terhubung dengan port COM5 centang port tersebut.
3. Cek apakah nodemcu dan sensor berhasil terhubung dengan arduino uno.
silahkan copy coding ini untuk cek apakah sensor suhu telah berhasil melakukan cek suhu.
#include <DHT.h>
#include <WiFi.h>
#define DHTTYPE DHT11 // Tipe sensor DHT11
#define DHTPIN D1 // Pin data sensor DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Gagal membaca data dari sensor DHT11");
return;
}
Serial.print("Suhu: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print("Kelembaban: ");
Serial.print(h);
Serial.println(" %");
delay(2000);
}
silahkan ganti pin data yang digunakan pada "define DHTPIN D1" dengan pin data yang terhubung di sensor suhu anda. kemudian tekan tombol upload yang terdapat dibagian pojok kiri atas no 2 setelah verify.
- setelah itu cek apakah data sensor suhu dan kelembaban berhasil di deteksi dengan serial monitor yang bisa diakses di bagian pojok kanan atas dari coding arduino anda.
4. Menghubungkan dengan blynk console
Tahap selanjutnya adalah menghubungkan code dengan blynk console yang merupakan website dari aplikasi blynk di mobile.
- buat akun terlebih dahulu di blynk console.
- kemudian pilih bagian template dan buat template baru
- untuk bagian "name" bebas, silahkan di isi sesuai dengan keinginan
- untuk hardware isikan ESP8266
- connection type pilih wifi
- description bebas saja, kemudian lanjutkan dengan pilih done
- apabila sudah silahkan masuk ke menu web dashboard pada template yang telah kalian buat tadi.
- pada sisi kira pilih gadget yang akan digunakan untuk menampilkan suhu
- pilih gadget "gauge" dan atur gadget tersebut dengan mengklik tanda roda bergerigi kemudian pilih create or add datastream pilih virtual pin atur sesuai dengan gambar berikut
- untuk nama silahkan bebas, saya menggunakan suhu disini sebagai nama dari gauge 1 tersebut, pin yang dipake yaitu pin V0 untuk gauge units yang dipake yaitu celcius (C) kemudian untuk min dan max value silahkan di sesuaikan atau di samakan, gauge 1 adalah suhu dan gauge 2 adalah kelembaban gauge 1 pin V0 dan gauge 2 pin V1 bisa dilihat seperti gambar dibawah ini. pastikan save
setelah itu lanjut ke bagian device pada kiri halaman web blynk klik bagian search kemudian pilih new device kemudian pilih from template, pilih template yang tadi telah dibuat kemudian tekan create.
setelah itu cari device info, kemudian copy BLYNK_AUTH_TOKEN yang nanti digunakan untuk menghubungkan code di arduino ide dengan blynk website. setelah itu lanjutkan dengan membuat code di arduino ide anda:
#define BLYNK_AUTH_TOKEN "ganti dengan token anda"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "nama wifi anda";
char pass[] = "password anda";
#define DHTPIN D1
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);
BlynkTimer timer;
void setup(){
Serial.begin(115200);
Blynk.begin(auth,ssid,pass, "blynk.cloud", 80);
dht.begin();
timer.setInterval(2500L,sendSensor);
}
void loop (){
Blynk.run();
timer.run();
}
void sendSensor(){
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan (t)){
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V0, t);
Blynk.virtualWrite(V1,h);
Serial.print("Temperatures :");
Serial.print(t);
Serial.print("|| Humidity :");
Serial.println(h);
if(t > 30 ){
Blynk.logEvent("notifikasi", "Suhu diatas 30 Derajat Celcius");
}
}






