top of page
Search
  • Writer's picturePiko Prasetyo

Blynk dan Membuat RC WiFi Sederhana

Bagi sebagian orang yang baru menjajaki dunia IoT, Blynk adalah sebuah platform IoT yang sangat mudah untuk digunakan. Sebagai platform, Blynk sangat mudah untuk dipahami dan digunakan. Sistemnya yang menggunakan widget drop and click sangatlah mudah untuk dipahami. Sebelum kita mencoba melakukan sesuatu dengan Blynk, marilah kita coba mengetahui lebih detail tentang cara kerja Blynk.

Terdapat 3 hal utama yang harus dipahami dalam penggunaan Blynk, yaitu:

  1. Blynk app adalah sebuah aplikasi yang dapat digunakan untuk membuat interfaces dari project yang kalian inginkan. Hal ini dipermudah dengan berbagai widget yang ada.

  2. Blynk server adalah sebuah server yang bertanggung jawab atas komunikasi yang terjadi antara device controller yang kalian gunakan dengan smartphone kalian.

  3. Blynk libraries adalah library yang akan anda gunakan sebagai protokol dan penjembatan antara Blynk dan device controller kalian.

Sebagai latihan dalam menggunakan Blynk, mari kita gunakan Blynk untuk membuat robot RC yang dapat dikontrol melalui smartphone. Hal yang perlu dipersiapkan adalah:

  1. Microcontroller ESP32

  2. Driver Motor L298N

  3. Motor DC kecil

  4. Chasis dan ban

  5. Kabel jumper

  6. Baterai Lipo

Setelah menyiapkan semua alat di atas ikutilah prosedur berikut:

  • Buka aplikasi Blynk yang ada di smartphone kalian, jikalau kalian belum punya unduhlah terlrbih dahulu di playstore.

  • Buatlah new project, lalu pasanglah 4 button widget dan 1 slider widget. Buatlah seperti contoh berikut.

  • Hubungkanlah pin button dengan virtual pin yang ada berada di server. Lakukanlah dengan cara tekan button dan atur pin menjadi virtual pin dengan nomor tertentu asalkan tidak sama.

  • Sebagai penjelasan button bisa digunakan untuk mengubah logic dari 0 ke 1 (bisa disetting terbalik), button bisa juga disetting menjadi switch sehingga apabila button ditekan lalu dilepas logic tidak akan kembali menjadi 0. Berbeda dengan button, slider digunakan untuk mengirimkan nilai angka dapat berbentuk integer ataupun float.

  • Ketika membuat project ini kalian akan mendapatkan token auth yang dikirim ke email anda, token ini akan digunakan untuk mengidentifikasi device anda sehingga harus dimasukkan dalam program. Selain itu kalian juga harus memperhatikan device yang kalian gunakan.

  • Upload program ini ke ESP32,

//Blynk

#define BLYNK_PRINT Serial

#include <WiFi.h>

#include <BlynkSimpleEsp32.h>


//MOTOR

#define EN1 14

#define IN1 27

#define IN2 26

#define IN3 25

#define IN4 33

#define EN2 32


//Blynk Authentication

char auth[] = "****************************";

char ssid[] = "ROBO_RC";

char pass[] = "rato4763";


const int freq = 30000;

const int PWMChannel = 0;

const int resolution = 10;

int DutyCycle = 0;


void setup() {

Serial.begin(9600);

Blynk.begin(auth, ssid, pass);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

pinMode(EN1, OUTPUT);

pinMode(EN2, OUTPUT);


ledcSetup(PWMChannel,freq,resolution);

ledcAttachPin(EN1,PWMChannel);

ledcAttachPin(EN2,PWMChannel);

}


BLYNK_WRITE(V4)

{

int slider = param.asInt();

DutyCycle = slider;

}


BLYNK_WRITE(V0)

{

int button = param.asInt();

if (button == 1)

{

ledcWrite(PWMChannel,DutyCycle);

digitalWrite(IN1, LOW); //maju motor kiri

digitalWrite(IN2, HIGH);

digitalWrite(IN3, HIGH); //maju motor kanan

digitalWrite(IN4, LOW);

}

else

{

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

}


BLYNK_WRITE(V1)

{

int button = param.asInt();

if (button == 1)

{

ledcWrite(PWMChannel,DutyCycle);

digitalWrite(IN1, HIGH); //mundur motor kiri

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH); //mundur motor kanan

}

else

{

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

}


BLYNK_WRITE(V2)

{

int button = param.asInt();

if (button == 1)

{

ledcWrite(PWMChannel,DutyCycle);

digitalWrite(IN1, LOW); //maju motor kiri

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH); //mundur motor kanan

}

else

{

ledcWrite(PWMChannel,DutyCycle);

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

}


BLYNK_WRITE(V3)

{

int button = param.asInt();

if (button == 1)

{

ledcWrite(PWMChannel,DutyCycle);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW); //mundur motor kiri

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW); //maju motor kanan

}

else

{

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

}


void loop()

{

Blynk.run();

}

  • Setelah itu sambunglah microcontroller anda ke motor sesuai dengan skematik yang ada di internet.

  • Lakukan testing seperti video berikut.

Begitulah testing Blynk hari ini semoga bermanfaat bagi kita semua.



41 views0 comments

Recent Posts

See All
bottom of page