#define BLYNK_TEMPLATE_ID "TMPL654SAzWq_"
#define BLYNK_TEMPLATE_NAME "Servo Control Template"
#define BLYNK_AUTH_TOKEN "9kZF6LhnCIv89WcR7ad5Qureqe0qSqkr"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32Servo.h>
Servo myservo;
int posisiSekarang;
int button = 2;
int manual = 3;
BlynkTimer timer;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BLYNK_WRITE(V0){
int data = param.asInt(); // Membaca nilai dari aplikasi Blynk
myservo.write(data);
Blynk.virtualWrite(V0, data);
}
void setup() {
Serial.begin(115200);
myservo.attach(14);
Blynk.begin(auth, ssid, pass);
timer.setInterval(100L, sendData);
}
void loop() {
Blynk.run();
timer.run(); // Menjalankan Blynk
}
void sendData(){
int read_manual = digitalRead(manual);
int read_button = digitalRead(button);
posisiSekarang = myservo.read();
Blynk.virtualWrite(V1,String(posisiSekarang));
if(read_button == 1 && read_manual == 0){
myservo.write(90);
} else if(read_button == 0 && read_manual == 0){
myservo.write(0);
}
}