Loading...
OUR BLOG

Kawal LED dan PWM menggunakan NodeMCU ESP8266 melalui Blynk

Beberapa basic tutorial telah kami tunjukkan kepada anda sebelum ini. Untuk tutorial ini, kami akan tunjukkan bagaimana nak kawal LED dan PWM menggunakan NodeMCU ESP8266 melalui aplikasi Blynk. 

Untuk anda yang baru mula nak mencuba cipta projek IoT pertama mesti belum tahu apa tu aplikasi Blynk.

 

 

Blynk adalah salah satu IoT platform yang biasa digunakan oleh makers atau seorang pencipta IoT projek. Platform ini dicipta untuk aplikasi smartphone, dari situ anda boleh mengawal IoT projek anda dimana sahaja menggunakan smartphone.

Aplikasi ini perlulah di install terlebih dahulu dalam aplikasi smartphone anda sebelum boleh mula digunakan. Saya akan tunjukkan dalam tutorial apa yang mampu dilakukan oleh aplikasi Blynk ini.

 

Komponen yang diperlukan dalam tutorial ini adalah:

i. NodeMCU ESP8266

ii. LED

iii. Perintang 220 ohm

iv. Breadboard

v. Jumper

vi. Aplikasi Blynk dan akaun pada smartphone

 

Langkah untuk install dan cipta akaun Blynk anda:

 

1. Install Blynk

Sebelum memulakan tutorial ini, anda perlu install terlebih dahulu aplikasi Blynk dalam smartphone anda. Anda boleh layari Aplikasi Google Play Store atau App Store pada smartphone anda dan taip “Blynk” pada bahagian search.

 

Tekan butang GET atau INSTALL dan aplikasi akan install dalam smartphone anda.

 

2. Log masuk Aplikasi Blynk

Selepas selesai install aplikasi Blynk, anda boleh buka Aplikasi tersebut. 


 

Aplikasi Blynk akan meminta anda untuk log masuk terlebih dahulu. Jika anda tidak mempunyai akaun Blynk lagi, anda boleh tekan pada “Create New Account” untuk mencipta akaun Blynk. Atau, anda juga boleh memilih untuk login menggunakan Facebook akaun anda untuk Blynk gunakan email Facebook anda sahaja.

 

3. Install library Blynk dalam Arduino IDE.

 

Selesai dengan install Aplikasi Blynk dalam smartphone anda, sekarang kita akan install library Blynk dalam Arduino IDE anda. Anda perlu download dan install library Blynk ni dari library manager anda, ikut cara install yang saya tunjukkan ini:

 

Buka Arduino IDE anda, pergi ke SKETCH > INCLUDE LIBRARY > MANAGE LIBRARIES

 

 

Bila anda klik manage library dia akan buka library manager, anda search Blynk pada bahagian search dan tekan install seperti gambar dibawah ini.

 

Setelah selesai installed library Blynk, anda buka FILE > EXAMPLES > BLYNK > BOARDS_WIFI > NODEMCU.

 

 

Bila anda tekan NodeMCU, Arduino IDE akan buka sketch untuk Blynk seperti gambar dibawah:

Disini nanti, anda boleh paste atau taip semula code yang saya berikan dalam tutorial nanti.

 

Kita akan mulakan tutorial kawal LED dan PWM dengan membuat sambungan pada komponen terlebih dahulu.

 

1. Sambungan Litar

 

Sambungan litar perlulah dibuat terlebih dahulu. Anda boleh ikut cara sambungan litar seperti ini:

 

 

Kaki positive LED sambungkan pada resistor 220 ohm ke pin D2 pada NodeMCU ESP8266 dan kaki negative ke ground.

 

2. Create projek pada Aplikasi Blynk

 

Buka aplikasi Blynk dalam smartphone anda.

 

 

Tekan pada butang “+” untuk create projek baru

 

 

Lepas anda tekan “+”, ia akan buka ini untuk anda letak nama projek contoh “led”, CHOOSE DEVICE anda pilih “NodeMCU” dan CONNECTION TYPE anda pilih “WiFi”. Anda boleh pilih nak tema mode DARK atau LIGHT terpulang pada anda. Tekan butang “Create Project”.

 

3. Email code Auth Token

Selepas anda dah selesai create project, Blynk akan hantar code Auth Token pada email anda untuk digunakan dalam Arduino IDE nanti.

 

4. Tambah widget dalam projek

Anda boleh slide ke kiri untuk keluarkan tab widget anda. Disitu anda boleh tekan pada widget “Button” dan Blynk akan menambah butang dalam app.

 

Perlu diingatkan, bilangan widget yang digunakan dalam projek anda adalah bergantung kepada jumlah energy yang diberikan oleh Blynk. Seperti yang anda boleh lihat pada gambar bateri, 2000 adalah jumlah energy percuma yang diberikan. Energy ni, anda boleh claim semula apabila projek yang ada dalam aplikasi Blynk anda dipadam.

 

5. Setting "Button"

Setelah widget “Button” ditambah pada projek, anda boleh klik pada widget “Button” untuk mengubah setting butang tersebut.

 

Anda boleh Re-name butang, terpulang pada anda nak letak nama apa. Pada bahagian OUTPUT, pilih Virtual dan pin V0. Pemilihan pin Virtual adalah terpulang pada anda nak guna Virtual pin berapa. Cuma perlu pastikan, pada bahagian code nanti virtual pin yang digunakan adalah sama seperti yang anda pilih dalam Blynk.

 

Selesai setting “Button” dalam Blynk. Seterusnya kita akan pergi pada bahagian code dalam Arduino IDE pula.

 

6. Memulakan code/sketch dalam Arduino IDE

 

Buka software Arduino IDE anda. Perlu diingatkan, dalam Arduino IDE anda mestilah sudah ada library untuk NodeMCU ESP8266. Jika anda tidak tahu bagaimana nak install Library NodeMCU ESP8266, boleh tengok dalam blog kami Cara install board NodeMCU pada Arduino IDE 



Anda boleh paste atau taip semula code yang saya berikan ini dalam Arduino IDE:

 

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>



char auth[] = "Auth Token";//Auth Token dalam email yang Blynk 

                              berikan


char ssid[] = "Nama WiFi anda";

char pass[] = "Password WiFi anda";



BLYNK_WRITE(V0) //V0 = Virtual pin yang anda dah set pada button

                       dalam Blynk

{

  int pinValue = param.asInt(); 


  Serial.print("V0 button value is: ");//display pada serial monitor nilai 0 = OFF dan 1 = ON


  Serial.println(pinValue);


  digitalWrite(D2, pinValue);//baca pin LED pada nodeMCU 


}


void setup()

{

  Serial.begin(9600);


  pinMode(D2, OUTPUT);//mesti declare pinmode untuk LED sebagai

                         OUTPUT


  Blynk.begin(auth, ssid, pass);

  


}


void loop()

{

  Blynk.run();

}

 

 

 

Bila anda selesai paste atau taip semula code dalam Arduino IDE, anda perlu pastikan yang anda sudah memilih NodeMCU pada bahagian Tools > Board > NodeMCU 0.9 dan pastikan memilih Port > COM yang anda telah sambung pada NodeMCU ESP8266 board anda. 

 

Perlu diingatkan, sebelum anda memuat naik code kedalam board, anda perlulah mengubah terlebih dahulu “AUTH TOKEN”, “NAMA WIFI” dan “PASSWORD WIFI” kepada sambungan wifi yang anda gunakan.

 

Anda boleh verify dahulu code untuk memastikan tiada kesalahan dalam code anda. Setelah code anda okay dan tiada error, anda boleh tekan butang upload untuk upload code anda kedalam NodeMCU ESP8266.

 

 

Bila connection anda sudah berjaya disambungkan pada Blynk seperti gambar diatas, anda boleh run projek pada aplikasi Blynk anda.

 

 

Tekan pada utang “Play” untuk run aplikasi tersebut seperti yang saya highlight pada gambar diatas.

 

Output yang anda akan dapat seperti ini:

 

 

Seperti yang anda lihat dalam video, bila anda tekan pada button ON, LED akan menyala dan pada serial monitor anda akan paparkan nilai adalah 1. Apabila button OFF, LED akan padam dan pada serial monitor akan paparkan nilai adalah 0. Anda perlu pastikan Blynk anda connect dengan NodeMCU ESP8266 dan board anda tidak OFFLINE.

 

 

Selesai dengan kawal on off LED, sekarang kita pergi kepada kawal menggunakan PWM.

 

PWM adalah Pulse Width Modulation berfungsi untuk membolehkan kita mengawal analog device atau komponen melalui digital pin. Tutorial sebelum ini, kami ada buat tentang Kawal LED menggunakan Potentiometer dengan NodeMCU ESP8266 dalam code menggunakan analogwrite. Kali ini objektif yang sama untuk kawal terang malap LED menggunakan PWM melalui Blynk. 

Komponen yang diperlukan sama sahaja seperti tutorial kawal LED diatas. 

 

Anda boleh ikuti langkah-langkah ini:

 

1. Sambungan Litar

Sambungan litar adalah sama sahaja seperti kawal LED. Jadi anda tidak perlu mengubah apa2 pada litar anda.

 

2. Create projek pada Aplikasi Blynk

Anda tidak perlu Create projek baru, bagi memudahkan anda untuk menggunakan Auth Token yang sama seperti kawal LED. Anda boleh delete sahaja widget “Button” dalam projek yang sama pada aplikasi Blynk anda.

 

Tekan delete dan widget “Button” akan delete dari projek anda.

 

Pilih widget “Slider” untuk PWM anda.

 

Klik pada widget “Slider” untuk setting. Boleh re-name, OUTPUT pilih Virtual pin V1, set kan 0~255 dan Decimal boleh pilih “#” bermakna tiada perpuluhan.

 

Selesai setting widget Slider, kita akan pergi pada bahagian code Arduino IDE.

 

3. Memulakan sketch/code dalam Arduino IDE

Anda boleh paste atau taip semula code yang saya berikan ini dalam Arduino IDE:

 

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>


char auth[] = "Auth Token";//Auth Token dalam email yang Blynk 

                              berikan


char ssid[] = "Nama WiFi anda";

char pass[] = "Password WiFi anda";


BLYNK_WRITE(V1)

{

  int pinValue = param.asInt(); 


  Serial.print("V1 Slider value is: ");//display nilai PWM 0~255

  Serial.println(pinValue);

  

  analogWrite(D2, pinValue);

}


void setup()

{

  Serial.begin(9600);


  pinMode(D2, OUTPUT);


  Blynk.begin(auth, ssid, pass);


}


void loop()

{

  Blynk.run();

}

 

 

 

Perlu diingatkan, sebelum anda memuat naik code kedalam board, anda perlulah mengubah terlebih dahulu “AUTH TOKEN”, “NAMA WIFI” dan “PASSWORD WIFI” kepada sambungan wifi anda.

 

Setelah anda selesai paste atau menaip semula code yang saya berikan, anda boleh verify dahulu code anda untuk memastikan tiada kesalahan dalam code anda. Setelah code anda okay dan tiada error, anda boleh tekan butang upload untuk upload code anda kedalam NodeMCU ESP8266.

 

 

Bila connection anda sudah berjaya disambungkan pada Blynk seperti gambar diatas, anda boleh run projek pada aplikasi Blynk anda.

 

Tekan pada butang “Play” untuk run aplikasi tersebut seperti yang saya highlight pada gambar diatas.

 

Output yang anda akan dapat seperti ini:

 

Seperti yang anda lihat dalam video, bila anda sentuh dan slide ke kanan sehingga anda lepaskan baru LED akan menyala. Selagi anda slide dan jari anda tidak dilepaskan daripada slider, nilai dan LED takkan berubah kecerahannya. Bila anda gerakkan slider ke kiri dan kanan, anda boleh perhatikan perubahan nilai PWM pada serial monitor dan kecerahan LED. Nilai yang kita dah set kan dalam Blynk adalah 0~255. 

 

Kini anda sudah berjaya mengawal LED dengan menggunakan NodeMCU ESP8266 melalui aplikasi Blynk. Sekarang, anda boleh cuba tambah komponen lain, seperti LED pada litar anda dan tambah sedikit code untuk menjadikan projek anda lebih menarik.

 

Jika anda suka dengan perkongsian tutorial dalam blog kami ni, jangan lupa untuk follow Facebook dan Instagram kami, kat situ ada bermacam info dan update terkini yang akan kami kongsikan kepada anda. Itu sahaja untuk tutorial kami. Stay update dan selamat mencuba!

 

 

Unsure Whether You Need Our Help?

Have you got an awesome new idea or project that you want to talk about? We're here to talk you through it. Flick us an email or give us a call to get started.