99+ Proyek IoT [Internet of Things] 1
99+
Membuat Smart Home dengan Blynk
Deskripsi
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 aktuator buka – tutup pintu garasi
menggunakan motor servo DC kemudian untuk bell pintu (door bell) memakai buzzer DC.
Cara Kerja
NodeMCU V3 dengan modul WiFi ESP8266 mengolah data dari beberapa sensor yaitu sensor suhu
kelembaban, sensor deteksi jendela terbuka dan sensor gas. Hasilnya kemudian dikirim dan
ditampilkan dalam sebuah aplikasi Android yaitu Blynk. Sensor gas dan sensor jendela untuk
‘warning’ terjadi kondisi ‘bahaya’. Selain itu NodeMCU huga terhubung dengan relay untuk
mengontrol lampu serta kipas angin (fan), menghidupkan bell (door bell) serta dengan sebuah
motor servo untuk simulai membuka pintu garasi.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 2
99+
Sistem Device Gambar
Monitoring Suhu & Sensor DHT11
Kelembaban
Deteksi Kebocoran Gas Sensor MQ2
Deteksi Pencuri lewat Sensor Jendela
jendela
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 3
99+
Kontrol lampu (ON - OFF) Relay
Kontrol Kipas Angin (ON – Relay
OFF)
Bel Pintu Wireless Buzzer
Buka Tutup Gerbang Garasi Servo Motor
Kebutuhan Bahan
NodeMCU V3
Sensor Gas MQ2
Sensor DHT22/DHT11
Sensor window
Buzzer
Servo Motor
Relay 2 Channel
Kabel konektor
Kabel micro USB
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 4
99+
Kebutuhan Software
Arduino IDE
Blynk
Rangkaian/Skematik
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 5
99+
Koneksi NodeMCU dengan Sensor MQ2 :
NodeMCU Sensor Gas MQ2
D3 D0
GND GND
Vin (5V) VCC
Koneksi NodeMCU dengan Sensor DHT22/DHT11 :
NodeMCU Sensor DHT22
D4 OUT
GND -
Vin (5V) +
Koneksi NodeMCU dengan Sensor Jendela :
NodeMCU Sensor Jendela
D2 OUT
GND -
3.3V +
Koneksi NodeMCU dengan modul Relay 2 Channel :
NodeMCU Relay 2 Channel
D5 IN1
D6 IN2
GND GND
Vin (5V) VCC
Koneksi NodeMCU dengan Buzzer :
NodeMCU Buzzer
D1 +
GND -
Vin (5V) +
Koneksi NodeMCU dengan Servo Motor :
NodeMCU Servo
D7 SIG
GND GND
Vin (5V) VCC
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 6
99+
Membuat program Blynk di Android (GUI Blynk)
Silakan baca & pelajari terlebih dahulu “TUTORIAL MEMBUAT APLIKASI IoT DI ANDROID
DENGAN BLYNK.PDF” yang ada di CD.
Buka/jalankan Blynk kemudian buat project baru. Muncul tampilan baru kemudian isi nama
project : Smart Home. Klik bagian CHOOSE DEVICE kemudian pilih NodeMCU. Untuk CONNECTION
TYPE : Wi-Fi.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 7
99+
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 berikut :
Gauge : 2
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 8
99+
Button : 4
Notification.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 9
99+
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 10
99+
Selanjutnya kita seting untuk masing – masing widget, kita mulai dari Gauge 1. Klik widget Gauge 1
kemudian seting beberapa parameternya.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 11
99+
Beri nama “Temperature” dengan INPUT Virtual V0 range 0 – 100.
Selanjutnya seting pada widget Gauge 2. Klik widget Gauge 2.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 12
99+
Beri nama “Humidity” dengan INPUT Virtual V1 range 0 – 100.
Selanjutnya seting pada widget BUTTON 1. Klik widget BUTTON 1.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 13
99+
Beri nama “Door Bell” dengan INPUT Digital D1 mode PUSH.
Selanjutnya seting pada widget BUTTON 2. Klik widget BUTTON 2.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 14
99+
Beri nama “Lamp” dengan INPUT Digital D5 mode Switch. Untuk logika outputnya menyesuaikan
relay. Jika relay aktif “HIGH” maka setingan seperti pada gambar ( 0 – 1 ) sebaliknya jika relay aktif
“LOW” maka setingan outputnya 1 – 0 .
Selanjutnya seting pada widget BUTTON 3. Klik widget BUTTON 3.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 15
99+
Beri nama “Fan” dengan INPUT Digital D6 mode Switch. Untuk logika outputnya menyesuaikan
relay. Jika relay aktif “HIGH” maka setingan seperti pada gambar ( 0 – 1 ) sebaliknya jika relay aktif
“LOW” maka setingan outputnya 1 – 0 .
Selanjutnya seting pada widget BUTTON 4. Klik widget BUTTON 4.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 16
99+
Beri nama Garage kemudian pilih INPUT Virtual V3 dengan mode SWITCH.
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)
99+ Proyek IoT [Internet of Things] 17
99+
Posisi dan ukuran masing – masing widget silakan diatur sesuai selera anda.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 18
99+
Kalau sudah kita siapkan program Arduino IDE nya.
Program/Source Code di Arduino IDE
Program pada proyek ini memerlukan library :
BlynkSimpleEsp8266.h
ESP8266WiFi.h
Buka/jalankan Arduino IDE kemudian buat lembar kerja baru. Tulis kode program berikut.
/***************************************
* Project Kontrol LED via Web server
* Board : NodeMCU ESP8266 V3
* Input :
* MQ2 ---------- D3
* Door sensor -- D2
* DHt22 -------- D4
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 19
99+
* Output :
* Buzzzer -- D1
* RL1 (lamp1) -- D5
* RL3 (Fan) -- D6
* Servo -- D7
* 99 Proyek IoT
* www.ardutech.com
* ***********************************/
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
#include <TimeLib.h>
#include <DHT.h>
#define DHTPIN D4 // DHT11 terhubung dengan PIN D4 NODEMCU
#define doorSensor D2 // sensor jendela
#define MQ2Pin D3 // sensor MQ2
DHT dht(DHTPIN, DHT22);
Servo servo;
//Ganti dengan Token Blynk anda
char auth[] = "CbS0l3x8agGfefffJ9GJ6b3G5kKE5Q4S";
//---GANTI SESUAI DENGAN JARINGAN WIFI
//---HOTSPOT ANDA
char ssid[] = "ArdutechWiFi"; // Nama Hotspot
char pass[] = "12345678"; // Password
WidgetLCD lcd(V3);
BlynkTimer timer;
float temp,humi;
int doorValue;
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 20
99+
int MQ2Value;
//==========================================
BLYNK_WRITE(V3){
int buttonState = param.asInt();
if(buttonState==HIGH){
servo.write(0);
delay(100);
}
else if(buttonState==LOW){
delay(100);
servo.write(90);
}
}
//===========================================
void setup()
{
Serial.begin(9600);
dht.begin();
servo.attach(D7); // 1
delay(50);
timer.setInterval(1000L, sendDHT22);
Blynk.begin(auth, ssid, pass);
lcd.clear();
lcd.print(0, 0, "== Smart Home ==");
lcd.print(0, 1, "Inkubatek Jogja");
delay(1000);
pinMode(doorSensor, INPUT);
pinMode(MQ2Pin, INPUT);
servo.write(90);
}
//==============================================
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 21
99+
void sendDHT22()
{
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(0, temp);
Blynk.virtualWrite(1, humi);
}
}
//============================================
void getDoorSensor(void)
{
doorValue = digitalRead(doorSensor);
if (doorValue)
{
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)
99+ Proyek IoT [Internet of Things] 22
99+
void getMQ2Value(void)
{
MQ2Value = digitalRead(MQ2Pin);
if (!MQ2Value)
{
Serial.println("==>Gas terdeteksi");
Blynk.notify("Kebocoran Gas terdeteksi.....!");
delay(1000);
}
}
//==========================================
void loop()
{
Blynk.run();
timer.run();
getDoorSensor();
getMQ2Value();
}
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)
99+ Proyek IoT [Internet of Things] 23
99+
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 :
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 24
99+
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 25
99+
Coba juga untuk menyalakan lampu dengan menekan tombol “LAMP”
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 26
99+
Coba juga untuk menyalakan kipas angin dengan menekan tombol “FAN”
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 27
99+
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 28
99+
Untuk detektor gas coba berikan gas pada sensor MQ2 sehingga notifikasi aktif.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 29
99+
Coba buka pintu garasi dengan menekan tombol “GARAGE”
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 30
99+
Cobalah untuk menyalakan doorbell dengan menekan tombol “DOOR BELL” sehingga buzzer
berbunyi.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 31
99+
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 32
99+
Terakhir coba untuk sensor jendela.
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 33
99+
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
99+ Proyek IoT [Internet of Things] 34
99+
Selamat berkarya , semoga lancar dan bermanfaat.
Ardutech – “Sahabat Inovasi Anda”
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)