#define BLYNK_TEMPLATE_ID "TMPL689CMD7CK"
#define BLYNK_TEMPLATE_NAME "Latihan 6 Akbar"
#define BLYNK_AUTH_TOKEN "lO-1GNzjkf8gRDDdiIjYkyHAyHE7k41g"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32Servo.h>
// Kredensial WiFi bawaan simulator Wokwi
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
char auth[] = BLYNK_AUTH_TOKEN;
// Pin LED (sesuai nama widget di dashboard Blynk)
#define LED_HIJAU_PIN 25 // V1 - Lampu Hijau
#define LED_KUNING_PIN 26 // V2 - Lampu Kuning
#define LED_MERAH_PIN 27 // V3 - Lampu Merah
// Pin servo
#define SERVO_PIN 13 // V4 - Servo
BlynkTimer timer;
Servo myServo;
// --- Button kontrol LED individual (V1, V2, V3) ---
BLYNK_WRITE(V1) {
digitalWrite(LED_HIJAU_PIN, param.asInt());
}
BLYNK_WRITE(V2) {
digitalWrite(LED_KUNING_PIN, param.asInt());
}
BLYNK_WRITE(V3) {
digitalWrite(LED_MERAH_PIN, param.asInt());
}
// --- Saklar utama "Semua Lampu" (V0) ---
BLYNK_WRITE(V0) {
int saklarUtama = param.asInt(); // 1 = ON, 0 = OFF
digitalWrite(LED_HIJAU_PIN, saklarUtama);
digitalWrite(LED_KUNING_PIN, saklarUtama);
digitalWrite(LED_MERAH_PIN, saklarUtama);
// Sinkronkan tampilan button V1, V2, V3 di aplikasi Blynk
Blynk.virtualWrite(V1, saklarUtama);
Blynk.virtualWrite(V2, saklarUtama);
Blynk.virtualWrite(V3, saklarUtama);
}
// --- Slider servo (V4), rentang 0-180 derajat ---
BLYNK_WRITE(V4) {
int sudutServo = param.asInt(); // 0 - 180
myServo.write(sudutServo);
}
void setup() {
Serial.begin(115200);
pinMode(LED_HIJAU_PIN, OUTPUT);
pinMode(LED_KUNING_PIN, OUTPUT);
pinMode(LED_MERAH_PIN, OUTPUT);
myServo.attach(SERVO_PIN);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
timer.run();
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4