#define BLYNK_TEMPLATE_ID "TMPL6ns2KV9Kl"
#define BLYNK_TEMPLATE_NAME "Penerangan lampu jalan"
#define BLYNK_AUTH_TOKEN "kO0qIjzbzK27s56axT_QvcBmQhZ4bxnU"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = ""; //password hotspot yang digunakan
const int LDR_PIN = 34; // Pin untuk LDR
const int LED_PIN = 5; // Pin untuk LED
BlynkTimer timer;
int ledBrightness = 0; // Nilai default untuk kecerahan LED (0-100)
int ldrValue = 0; // Nilai untuk LDR
void setup()
{
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, checkLDR); // Set timer untuk cek LDR setiap 1 detik
}
void checkLDR()
{
ldrValue = analogRead(LDR_PIN);
ldrValue = map(ldrValue, 0, 4095, 0, 100); // Mengonversi nilai LDR dari 0-4095 ke 0-100
Serial.print("LDR Value: ");
Serial.println(ldrValue);
Blynk.virtualWrite(V2, ldrValue); // Mengirim nilai LDR ke Blynk Value Display
Blynk.virtualWrite(V5, ldrValue); // Mengirim nilai LDR ke Blynk Gauge
}
BLYNK_WRITE(V3) // Virtual pin V3 untuk mengubah kecerahan LED dari Blynk
{
int sliderValue = param.asInt(); // Mendapatkan nilai slider dari aplikasi Blynk
ledBrightness = map(sliderValue, 0, 100, 0, 255); // Mengonversi nilai slider dari 0-100 ke 0-255
Serial.print("Slider value: ");
Serial.print(sliderValue);
Serial.print(", LED brightness: ");
Serial.println(ledBrightness);
analogWrite(LED_PIN, ledBrightness); // Mengubah kecerahan LED
}
void loop()
{
Blynk.run();
timer.run();
}