#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_AUTH_TOKEN "XNfY-1OgHNao8yxL4l9RdOUEz57c0luT"
#define LED1_PIN 5 // Pin untuk LED pertama
#define LED2_PIN 4 // Pin untuk LED kedua
#define LED3_PIN 2 // Pin untuk LED ketiga
#define DELAY_TIME 100 // Waktu penundaan antara setiap LED dalam mode running LED
char auth[] = BLYNK_AUTH_TOKEN; // Masukkan token autentikasi Blynk Anda
char ssid[] = "Wokwi-GUEST"; // Masukkan nama jaringan WiFi Anda
char pass[] = ""; // Masukkan kata sandi WiFi Anda
int currentLED = 1;
BLYNK_WRITE(V0) {
// Callback untuk tombol virtual di pin V0 di Blynk
int buttonState = param.asInt();
if (buttonState == HIGH) {
// Pindah ke LED berikutnya saat tombol ditekan
currentLED = (currentLED % 3) + 1;
}
}
void setup() {
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(LED3_PIN, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
// Matikan semua LED
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
// Nyala LED sesuai dengan mode running LED
if (currentLED == 1) {
digitalWrite(LED1_PIN, HIGH);
} else if (currentLED == 2) {
digitalWrite(LED2_PIN, HIGH);
} else if (currentLED == 3) {
digitalWrite(LED3_PIN, HIGH);
}
// Tunda untuk efek running LED
delay(DELAY_TIME);
}