Membuat aplikasi Internet of Things (IoT) dengan modul NodeMCU V3 untuk mengontrol dan
memonitor peralatan rumah tangga melalui aplikasi di smartphone. Cukup dengan menekan
tombol di layar monitor HP kita dapat menghidupkan lampu atau kipas angin di rumah kita, atau
jika ada kebocoran gas LPG dan ada jendela yang terbuka maka akan muncul pemberitahuan
melalui HP kita.
Proyek ini berupa simulasi sistem, sebagai contoh untuk sensor jendela menggunakan tombol
push on kemudian untuk bell pintu (door bell) memakai buzzer DC.
NodeMCU V3 dengan modul WiFi ESP8266 mengolah data dari beberapa sensor yaitu sensor suhu
kelembaban, sensor deteksi jendela terbuka (push-on button) dan sensor jarak ultrasonik. Hasilnya
kemudian dikirim dan ditampilkan dalam sebuah aplikasi Android yaitu Blynk. Sensor jarak
ultrasonik dan sensor jendela untuk ‘warning’ terjadi kondisi ‘bahaya’ adanya pencuri. Selain itu
NodeMCU huga terhubung dengan relay untuk mengontrol lampu (2) dan menghidupkan bell
(door bell).
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
2
IoT Starter Pack
Kebutuhan Bahan
NodeMCU V3
Sensor Ultrasonic
Sensor DHT11
Buzzer
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
3
IoT Starter Pack
Push button
Relay 2 Channel
Kabel konektor
Kabel micro USB
Breadboard
Kebutuhan Software.
Arduino IDE
Blynk
Rangkaian/Skematik.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
4
IoT Starter Pack
NodeMCU DHT11
3.3 V +
D3 OUT
GND -
Koneksi NodeMCU dengan Buzzer :
NodeMCU Buzzer
D1 +
GND -
Koneksi NodeMCU dengan tombol push on :
NodeMCU Push ON
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
5
IoT Starter Pack
D2 Pin 1
GND Pin 2
Koneksi NodeMCU dengan modul Relay 2 Ch :
Buat rangkaian NodeMCU dengan sensor DHT11, sensor Ultrasonik, tombol push – on, buzzer dan
modul relay 2 channel seperti pada rangkaian/skematik.
Buat project
baru
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
6
IoT Starter Pack
Muncul tampilan baru kemudian isi nama project : Smart Home. Klik bagian CHOOSE DEVICE
kemudian pilih NodeMCU. Untuk CONNECTION TYPE : Wi-Fi.
Tulis Judul
Project
Klik. Pilih
NodeMCU
Klik
“Create”
Klik tombol Create sehingga kode token Blynk akan dikirim ke email akun anda. Silakan buka dan
dicek karena nanti akan dipakai pada pemrogramana dengan Arduino IDE.
Berikutnya pada lembar kerja, tambahkan widget Gauge :
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
7
IoT Starter Pack
Klik “Gauge”
Tambahkan lagi sebuah Gauge, kemudian 3 buah tombol (BUTTON) dan sebuah Notification.
Untuk widget tombol ada di bagian CONTROLLERS :
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
8
IoT Starter Pack
Setelah semua widget ditambahkan pada lembar kerja akan tampak seperti ini :
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
9
IoT Starter Pack
Untuk merubah ukuran widget (ini juga tidak wajib, hanya untuk tampilan saja) klik/tekan + tahan
sebentar widgetnya kemudian lepaskan hingga muncul “frame” dengan dua (2) titik disebelah
kanan dan kiri. Tarik ke –kanan atau ke-kiri agar ukuran berubah.
Sedangkan untuk menggeser posisi widget cukup klik/tekan + tahan kemudian geser ke posisi
yang diinginkan.
Berikut ini contoh setelah ukuran masing – masing widget diatur. Anda boleh membuat design
posisi sendiri, tidak diubah-pun tidak mengapa.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
10
IoT Starter Pack
Selanjutnya kita seting untuk masing – masing widget, kita mulai dari Gauge 1. Klik widget Gauge 1
kemudian seting beberapa parameternya.
1. Klik kemudian
tulis “Temperatur”
Klik GAUGE 1
Muncul tampilan Gauge Settings. Beri nama “Temperatur” dengan INPUT Virtual V1 range 0 –
100.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
11
IoT Starter Pack
8. Klik untuk
kembali ke tampilan
5. Klik OK utama
6. Klik kemudian
ganti dg 100
3. Pilih 4. Pilih V1
Virtual
7. Pilih Warna
Selanjutnya seting pada widget Gauge 2. Klik widget Gauge 2. Beri nama “Humidity” dengan
INPUT Virtual V2 range 0 – 100. Cara seting sama dengan seting Gauge 1.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
12
IoT Starter Pack
Selanjutnya seting pada widget BUTTON 1. Klik widget BUTTON 1. Beri nama Lampu 1, Output
Digital D7 (logic 1 – 0 ) dengan Mode SWITCH.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
13
IoT Starter Pack
1. Klik, tulis
“Lampu 1”
3. Ganti Logika
Output : 1 – 0
2. Pilih
Digital D7
4. Mode :
SWITCH
Selanjutnya seting pada widget BUTTON 2. Klik widget BUTTON 2. Beri nama Lampu 2, Output
Digital D8 (logic 1 – 0 ) dengan Mode SWITCH.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
14
IoT Starter Pack
1. Klik, tulis
“Lampu 2”
3. Ganti Logika
Output : 1 – 0
2. Pilih
Digital D8
4. Mode :
SWITCH
Selanjutnya seting pada widget BUTTON 3. Klik widget BUTTON 2. Beri nama Bell Pintu, Output
Digital D1 (logic 0 – 1 ) dengan Mode PUSH.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
15
IoT Starter Pack
1. Klik, tulis
“Lampu 2”
3. Logika Output :
0 – 1
2. Pilih
Digital D1
4. Mode :
PUSH
Untuk widget Notification tidak perlu diseting kecuali jika akan mengganti suara/nada
notifikasinya.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
16
IoT Starter Pack
BlynkSimpleEsp8266.h
ESP8266WiFi.h
DHT.h
Buka/jalankan Arduino IDE kemudian buat lembar kerja baru. Tulis kode program berikut.
/***************************************
* Project 26 : Smart Home
* Board : NodeMCU ESP8266 V3
* Input :
* Door sensor (push button) ----- D2
* Sensor Suhu Kelembaban (DHT11)-- D3
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
17
IoT Starter Pack
* Output :
* Door Bell (Buzzzer) ------------ D1
* RL1 (Lampu 1) ------------------ D7
* RL2 (Lampu 2) ------------------ D8
* Sensor Pencuri (Ultrasonik) :
* Echo ----- D5
* Trigger -- D6
* IoT Starter Pack
* www.ardutech.com
* ***********************************/
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#define BLYNK_PRINT Serial
#define doorBell D1 // buzzer
#define doorSensor D2 // sensor jendela (push button)
#define DHTPIN D3 // DHT11 terhubung dengan PIN D3 NODEMCU
const int echoP = D5; //sensor ultrasonic
const int trigP = D6; //sensor ultrasonic
DHT dht(DHTPIN, DHT11);
//Ganti dengan Token Blynk anda
char auth[] = "CbS0l3x8agGfefffJ9GJ6b3G5kKE5Q4S";
//---GANTI SESUAI DENGAN JARINGAN WIFI
//---HOTSPOT ANDA
char ssid[] = "ArdutechWiFi"; // Nama Hotspot
char pass[] = "12345678"; // Password
BlynkTimer timer;
float temp,humi;
int doorValue;
long duration;
int distance;
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
18
IoT Starter Pack
//===========================================
void get_sensor_us(){
digitalWrite(trigP, LOW);
delayMicroseconds(2);
digitalWrite(trigP, HIGH);
delayMicroseconds(10);
digitalWrite(trigP, LOW);
duration = pulseIn(echoP, HIGH);
distance= duration*0.034/2;
Serial.print("Jarak=");
Serial.println(distance);
if(distance<=20){
Serial.println("==> Objek Terdeteksi !");
Blynk.notify("Objek Terdeteksi !!!");
}
}
//===========================================
void setup()
{
Serial.begin(9600);
dht.begin();
pinMode(trigP, OUTPUT);
pinMode(echoP, INPUT);
pinMode(doorSensor, INPUT_PULLUP);
pinMode(doorBell, OUTPUT);
pinMode(D7,OUTPUT);
pinMode(D8,OUTPUT);
digitalWrite(D7,HIGH);
digitalWrite(D8,HIGH);
delay(500);
timer.setInterval(1000L, sendDHT11);
Blynk.begin(auth, ssid, pass);
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
19
IoT Starter Pack
}
//==============================================
void sendDHT11()
{
humi = dht.readHumidity();
temp = dht.readTemperature();
if (isnan(humi) || isnan(temp)) {
Serial.println("DHT11 tidak terbaca... !");
return;
}
else{
Serial.print("Temperature: ");
Serial.print(temp);
Serial.print(" Celcius Humidity: ");
Serial.println(humi);
Blynk.virtualWrite(1, temp);
Blynk.virtualWrite(2, humi);
}
}
//============================================
void getDoorSensor(void)
{
doorValue = digitalRead(doorSensor);
if (doorValue==LOW)
{
Serial.println("==> Jendela Terbuka !!");
Blynk.notify("Jendela Terbuka !!!");
while(!digitalRead(doorSensor));
delay(1000);
}
}
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
20
IoT Starter Pack
//==========================================
void loop()
{
Blynk.run();
timer.run();
getDoorSensor();
get_sensor_us();
}
PERHATIKAN !
Ganti/sesuaikan variabel berikut :
Nama jaringan WiFi/hotspot : ssid [ ]
Password jaringan WiFi/hotspot : pass [ ]
Kode token Blynk : auth[ ]
Simpan (Save) kemudian Upload. Pastikan tidak ada error, jika masih ada silakan cek penulisan dll
kemudian perbaiki. (Program ini sudah diuji langsung dan sudah berjalan tanpa ada error)
Jalannya Alat
Setelah program berhasil di Upload, silakan buka Serial Monitor dari menu Tools Serial
Monitor, seting baudrate pada 9600 :
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
21
IoT Starter Pack
Jika sudah terhubung dengan server Blynk selanjutnya kita jalankan aplikasi Blynk di Android yang
tadi sudah dibuat. Klik tombol Start (pojok kanan atas) sehingga tampil aplikasi Smart Home :
Klik Start
Jika aplikasi berjalan dengan normal maka akan tampil seperti gambar berikut :
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
22
IoT Starter Pack
Running
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
23
IoT Starter Pack
Pada Gauge 1 akan menampilkan nilai suhu (temperature) dan Gauge 2 menampilkan nilai
kelembaban (humidity) yang terbaca sensor DHT11.
Anda dapat menambahkan lampu ke konektor Relay 1 dan Relay 2. Kita coba menyalakan Lampu
1, klik tombol LAMPU 1 (BUTTON 1) maka relay 1 akan ON. Coba juga untuk kontrol Lampu 2 dan
Door Bell.
Cobalah untuk menyalakan doorbell dengan menekan tombol “DOOR BELL” sehingga buzzer
berbunyi.
Untuk detektor pencuri dicoba dengan memberi halangan/objek di depan sensor ultrasonik (jarak
< 20 cm) sehingga notifikasi aktif.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
24
IoT Starter Pack
Coba juga untuk sensor jendela dengan menekan tombol (push button).
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
25
IoT Starter Pack
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)