Pengaturan Lampu Menggunakan Voice Recognition Berbasis ESP32 DOIT Devkit V1

by daffahmuchsin in Workshop > Home Improvement

633 Views, 1 Favorites, 0 Comments

Pengaturan Lampu Menggunakan Voice Recognition Berbasis ESP32 DOIT Devkit V1

Slide6.JPG
Slide7.JPG
Screenshot 2022-06-24 145309.png

Alat ini memungkinkan pengguna untuk menyalakan maupun mematikan lampu menggunakan perintah suara. Alat yang dibuat dapat dikendalikan dari jarak jauh menggunakan bantuan jaringan internet dan telepon genggam cerdas, sehingga alat ini cocok pada situasi dimana seseorang ingin menyalakan atau mematikan lampu tanpa melakukan kontak fisik dengan lampu karena alasan tertentu seperti tangan yang kotor atau tangan yang basah. Maupun saat instalasi lampu, alat ini dapat dicolokkan ke power supply 220 V AC dan tidak perlu menginstalasi sakelar karena pengaturan melalui teleppon genggam cerdas.

Link Video (apabila video tidak bisa diputar)

Alat dan Bahan:

Software:

· Blynk

· IFTTT

· Arduino IDE

· ESP32 Board Manager

· Blynk Library

· Wifi managerLibrary

Hardware:

· 1 x Breadboard

· 1 x ESP32 Module

· 1 x Relay 5V

· 1 x Fitting lampu

· 1 x 5V Adaptor

· Wires/Jumper

Merakit Device

Slide10.JPG
Slide9.JPG

1. Siapkan Esp32 yang sudah kita program tadi, modul Relay 220V, socket lampu 220V, lampu LED 5 Watt, Adaptor, kabel jumper, Adaptor, steker listrik yang terhubung dengan kabel, Power Supply (termasuk adaptor) dan box plastik yang berfungsi sebagai Case.

2. Hubungkan Pin D2 (Pinout Digital) pada esp-32 dengan Pin input ( in) pada modul relay, lalu hubungkan Pin 3V3 pada Esp32 dengan pin VCC pada modul relay, lalu hubungkan juga pin ground ( GND) pada esp-32 dengan pin ground ( gnd) pada modul relay.

3. Koneksikan Pin Common (com) pada modul relay dengan salah satu pin pada steker listrik, lalu koneksikan pin steker listrik yang lain dengan salah satu pin socket lampu. Lalu koneksikan Pin no ( normaly open) pada relay ke pin socket lampu yang masih kosong.

4. Bongkar adaptor terlebih dahulu, sambung USB Adaptor dengan Esp32.

5. Steker listrik yang terhuhung dengan kabel kemudian dihubungan secara paralel dengan Adaptor dan Pin VCC pada Relay.

6. Setelah semuanya telah terpasang dengan baik, maka langkah selanjutnya adalah memasang Lampu LED 5 Watt pada socketnya.

Instalasi Blynk

Screenshot (70).png
Screenshot (71).png
Screenshot (72).png
Screenshot (73).png
Screenshot (74).png
Screenshot (75).png
Screenshot (76).png
Screenshot (77).png
Screenshot (80).png

1. Buka web blynk (https://blynk.cloud/) atau melalui aplikasi

bernama Blynk IoT yang dapat diunduh melalui Play Store/App Store

2. Pilih “Login” jika sudah memiliki akun, jika belum membuat akun maka pilih “Create new account”.

3. Masukkan email yang ingin digunakan untuk membuat akun.

4. Setelah klik “Sign up”, Blynk akan mengirim link ke akun email tersebut. Linknya berguna. untuk memverifikasi akun serta untuk memberi password untuk akun Blynk tersebut.

Membuat Blynk project

1. Pada bagian “Template”, klik “New template”.

2. Masukkan nama yang kalian inginkan untuk templatenya, untuk bagian hardware dan connection typenya pilih “ESP32” dan “WiFi.

3. Klik “done”.

4. Sekarang klik tab “search” dan pada bagian devices, klik “new device”.

5. Pilih template yang telah dibuat dan beri nama untuk devicenya.

6. Setelah device telah terbuat, klik “Device info” dan copy code pada “firmware configuration” dan paste ke bagian paling atas code arduinonya. Code yang di copy ini berisi template ID, nama device, dan token authentikasi dari device tersebut.

Tentukan Pin / Buat Widget

1. Pada halaman device, klik tombol titik tiga di sebelah nama device dan pilih “edit dashboard”.

2. Disini kita bisa menambahkan widget yang akan tampil pada halaman dashboardnya. Dalam projek ini kami menggunakan widget switch

3. Pada widget tadi, klik simbol gir (pengaturan) dan pilih “Create datastream”.

4. Pilih digital dan masukkan pin modenya ke “output” serta ubah PINnya ke pin yang akan digunakan di ESP32nya, disini kami menggunakan pin D2.

5. Klik “create” dan set On value : 1 dan Off value : 0.

Instalasi IFTT

Screenshot (81).png
Screenshot (82).png
Screenshot (83).png
Screenshot (84).png
Screenshot (85).png
Screenshot (86).png
Screenshot (87).png
Screenshot (88).png
Screenshot (89).png
Screenshot (90).png
Screenshot (91).png
Screenshot (92).png

Buat ‘applets’

1. Buka web IFTTT (https://ifttt.com/explore) atau melalui aplikasi bernama “IFTTT – automation & workflow” yang dapat diunduh melalui Play Store/App Store.

2. Login terlebih dahulu sebelum ingin membuat project baru, jika belum ada silahkan membuat akun baru.

3. Setelah login, klik tombol “create”.

4. Klik tombol “add” pada kotak “If This”.

5. Pada kotak pencarian ketik “google assistant”.

6. Klik Kotak bertulliskan “google assistant”.

7. Pilih jenis perintah yang ingin digunakan, karena projek ini hanya menggunakan perintah sederhana maka klik kotak yang bertuliskan “Say a simple phrase”.

8. Pada kotak “What do you want to say” ketik perintah yang dinginkan, dalam projek ini kita akan menuliskan “Turn on/off LED”.

9. Pada kotak “optional” dapat dihiraukan atau di isi dengan sinonim perintah dengan kata kunci yang sama seperti “Switch on/off LED”.

10. Pada kotak “What do you want the Assistant to say in response?” ketik kalimat yang ingin diucapkan ketika perintah diberikan, dimana pada projek ini ketik “OK. LED, Turn On/OFF”.

11. Pada kotak “Language” pilih bahasa yang ingin digunakan, pada praktikum ini pilih “English”.

12. Klik tombol “Create trigger”.

13. Klik tombol “add” pada kotak “Then That”.

14. Pada kotak pencarian ketik “webhooks”.

15. Klik Kotak bertulliskan “webhooks”.

16. Klik Kotak bertulliskan “Make a web request”.

17. Pada kotak “URL” isi dengan syntax sebagai berikut https://{server_address}/external/api/update?token={token}&{pin}={value} (catatan: Beri nilai value = “1” untuk menyalakan dan value = “0” untuk mematikan)

18. Pada kotak “Method” pilih “GET”.

19. Pada kotak “Content Type” pilih “application/json”.

20. Klik tombol “Create action”.

21. Klik tombol “Continue”.

22. Klik tombol “Finish”.

23. Pastikan Tombol bertuliskan “connected” jika tidak maka klik tombol tersebut (catatan: utnuk menggunakannya tunggu dalam rentang 10 menit – 1 jam setelah membuat perintahnya).

Menjalan Program Melalui Arduino IDE

1. Instal software “Arduino IDE”

2. Pastikan Board esp-32 sudah terinstal

3. Pastikan Board Library blynk dan library wifi-manager sudah terinstal

4. Ketik code berikut:

#define BLYNK_TEMPLATE_ID "ID Blnyk" //lihat di device info

#define BLYNK_DEVICE_NAME "Nama Device Blynk" //lihat di device info

#define BLYNK_AUTH_TOKEN "Token Blynk" //lihat di device info

#define BLYNK_PRINT Serial

#include

#include

char auth[] = BLYNK_AUTH_TOKEN;

const char* ssid;

const char* pass;

#include // https://github.com/tzapu/WiFiManager

#include

void setup() {

WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP

// it is a good practice to make sure your code sets wifi mode how you want it.

// put your setup code here, to run once:

Serial.begin(115200);

//WiFiManager, Local intialization. Once its business is done, there is no need to keep it around

WiFiManager wm;

// reset settings - wipe stored credentials for testing

// these are stored by the esp library

wm.resetSettings();

// Automatically connect using saved credentials,

// if connection fails, it starts an access point with the specified name ( "AutoConnectAP"),

// if empty will auto generate SSID, if password is blank it will be anonymous AP (wm.autoConnect())

// then goes into a blocking loop awaiting configuration and will return success result

bool res;

// res = wm.autoConnect(); // auto generated AP name from chipid

// res = wm.autoConnect("AutoConnectAP"); // anonymous ap

res = wm.autoConnect("Test_1","password"); // password protected ap

if(!res) {

Serial.println("Failed to connect");

// ESP.restart();

}

else {

//if you get here you have connected to the WiFi

Serial.println("Success to connect");

}

ssid = WiFi.SSID().c_str();

pass = WiFi.psk().c_str();

Blynk.begin(auth, ssid, pass);

}

void loop() {

Blynk.run();

}

5. Upload ke ESP-32