#define BLYNK_TEMPLATE_ID "TMPL6vNGhLlv4" //SEBAGAI ID BLYNK
#define BLYNK_TEMPLATE_NAME "Control LED" //NAMA PROJECT DARI BLYNK
#define BLYNK_AUTH_TOKEN "tM4VkoghcfRq9ESHHw_ejwG1Nm1F4gOX" //TOKEN DARI BLYNK
#include <BlynkSimpleEsp32.h> //library ini digunakan untuk menghubungkan perangkat ESP32 ke platform Blynk
#include <WiFi.h>//Library ini digunakan untuk mengatur dan berkomunikasi dengan modul WiFi
#include <WiFiClient.h>//digunakan untuk mengonfigurasi dan mengelola koneksi WiFi sebagai klien
#include <ESP32Servo.h> //digunakan untuk mengendalikan motor servo pada perangkat ESP32.
Servo servo;//deklarasi variabel yang membuat sebuah objek dari kelas servo
int pos=0;// deklarasi dan inisialisasi variabel pos dengan nilai 0.
//blynk ssid,pass,token
char auth[] = BLYNK_AUTH_TOKEN;//digunakan untuk menyimpan token otentikasi untuk menghubungkan perangkat ke server Blynk.
char ssid[] = "Wokwi-GUEST";//digunakan dalam pengaturan jaringan WiFi
char pass[] = "";//digunakan untuk menyimpan kata sandi untuk mengakses jaringan WiFi
BLYNK_WRITE(V2)//mendapat input dari blynk lewat datastream V2
{
int value=param.asInt(); //mendapatkan nilai sebagai int
int konversi= map(value, 0, 400, 0, 180); //memetakan ulang suatu nilai
servo.write(konversi); //nilai yg dikirim
}
BLYNK_CONNECTED() { //digunakan untuk mengeksekusi ketika perangkat berhasil terhubung ke server Blynk
Blynk.syncAll();//digunakan untuk melakukan sinkronisasi ke server blynk
}
void setup() {//fungsi setup(), yang dieksekusi sekali pada awal program.
servo.attach(15); //untuk menghubungkan pin kontrol servo ke pin GPIO pada perangkat
Blynk.begin(auth, ssid, pass); // library Blynk untuk memulai koneksi ke server Blynk.
}
void loop() {//yang akan terus dieksekusi selama program berjalan
Blynk.run(); //mempertahankan koneksi dengan server Blynk
}