// baris 2-4 kode blynk untuk menyambungkan program ini dengan blynk.
#define BLYNK_TEMPLATE_ID "TMPL6vNGhLlv4"
#define BLYNK_TEMPLATE_NAME "Control LED"
#define BLYNK_AUTH_TOKEN "tM4VkoghcfRq9ESHHw_ejwG1Nm1F4gOX"
#include <BlynkSimpleEsp32.h>// memuat library blynkesp32 untuk menghubungkan perangkat esp32 ke platform Blynk.
#include <WiFi.h>// memuat library untuk mengatur koneksi wifi pada perangkat esp32.
#include <WiFiClient.h>// memuat library untuk membuat koneksi ke server blynk menggunakan protokol TCP/IP.
#include <ESP32Servo.h>// memuat library untuk mengendalikan servo motor pada perangkat esp32.
Servo servo;// mendeklarasikan servo yang akan digunakan.
int pos=0;// mendeklarasikan variabel posisi awal untuk servo.
// baris 15-17 digunakan untuk memuat nama hotspot dan sandinya agar bisa connect wifi.
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BLYNK_WRITE(V2)// mendeklarasikan nilai dari pin virtual yang sudah diatur di blynk.
{
int value=param.asInt();// mendapatkan nilai dari pin virtual yang terhubung di blynk dan menyimpannya dalam variabel 'value' sebagai integer.
int konversi= map(value, 0, 400, 0, 180);// mengonversi nilai yang diterima dari widget di dashboard Blynk menjadi nilai yang sesuai untuk menggerakkan servo motor.
servo.write(konversi);// digunakan untuk menggerakkan servo motor ke posisi yang sesuai dengan nilai konversi yang dihasilkan sebelumnya.
}
//baris 27-28 digunakan untuk menyinkronkan status semua widget di dashboard dengan perangkat.
BLYNK_CONNECTED() {
Blynk.syncAll();
}
void setup() {
servo.attach(15);// menghubungkan servo motor ke pin digital 15
Blynk.begin(auth, ssid, pass);// memulai koneksi ke server blynk menggunakan token otentikasi, nama hotspot , dan kata sandi wifi yang telah ditentukan.
}
void loop() {
Blynk.run();// digunakan untuk memperbarui secara terus-menerus setiap ada perubahan di dalam blynk.
}