#define BLYNK_TEMPLATE_ID "TMPL6wuCBZBGO"
#define BLYNK_TEMPLATE_NAME "LED"
#define BLYNK_AUTH_TOKEN "uIgBfGF8nK1-61EU-ZOmYOJcF7SFMe8M"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const int potPin = 34;
const int ledPin = 13;
int potValue = 0;
int ledStatus = 0;
BlynkTimer timer;
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensorData);}
void loop() {
Blynk.run();
timer.run();}
void sendSensorData() {
potValue = analogRead(potPin);
int brightness = map(potValue, 0, 4095, 0, 255);
analogWrite(ledPin, brightness);
if (brightness < 85) {
ledStatus = 0;
} else if (brightness < 170) {
ledStatus = 1;
} else {
ledStatus = 2;}
Blynk.virtualWrite(V0, potValue);
Blynk.virtualWrite(V1, ledStatus);
Blynk.virtualWrite(V2, "\t" + getStatusString(ledStatus));
Serial.println("Potensiometer: " + String(potValue) + ", Kondisi LED: " + getStatusString(ledStatus));}
String getStatusString(int status) {
if (status == 0) {
return " Gelap";
} else if (status == 1) {
return " Redup";
} else {
return "Terang";}}