/*
Blynk example
You should get Auth Token in the Blynk App.
You need to write the right wifiCredentials.
*/
/* Comment this out to disable prints and save space */
#define BLYNK_TEMPLATE_ID "TMPL6Fdv-tRxh"// Template ID dari Blynk
#define BLYNK_TEMPLATE_NAME "LED"// Nama template Blynk
#define BLYNK_AUTH_TOKEN "B-bJUb3zAFujjxuyiYc5-fbXHJCSuVYM"// Token autentikasi Blynk
#define BLYNK_PRINT Serial // Mengaktifkan output serial untuk debugging
#include <WiFi.h> // Library untuk koneksi WiFi
#include <WiFiClient.h> // Library untuk koneksi WiFi
#include <BlynkSimpleEsp32.h> // Library Blynk untuk ESP32
// Token autentikasi Blynk yang didapat dari aplikasi Blynk
char auth[] = BLYNK_AUTH_TOKEN;
// Kredensial WiFi
// Setel password ke "" untuk jaringan terbuka.
char ssid[] = "Wokwi-GUEST"; // Nama jaringan WiFi yang digunakan
char pass[] = ""; // Password jaringan WiFi
// Fungsi yang dipanggil ketika ada perubahan pada pin virtual V0 di aplikasi Blynk
BLYNK_WRITE(V0)
{
int pinValue = param.asInt(); // Menetapkan nilai yang diterima dari pin V0 ke variabel pinValue
if (pinValue == 1) // Jika nilai yang diterima adalah 1
{
digitalWrite(4, HIGH); // Nyalakan LED yang terhubung ke pin GPIO 4
}
else { // Jika nilai yang diterima bukan 1 (misalnya 0)
digitalWrite(4, LOW); // Matikan LED yang terhubung ke pin GPIO 4
}
// Memproses nilai yang diterima
}
BLYNK_WRITE(V1)
{
int pinValue = param.asInt(); // Menetapkan nilai yang diterima dari pin V0 ke variabel pinValue
if (pinValue == 1) // Jika nilai yang diterima adalah 1
{
digitalWrite(16, HIGH); // Nyalakan LED yang terhubung ke pin GPIO 16
}
else { // Jika nilai yang diterima bukan 1 (misalnya 0)
digitalWrite(16, LOW); // Matikan LED yang terhubung ke pin GPIO 16
}
// Memproses nilai yang diterima
}
BLYNK_WRITE(V2)
{
int pinValue = param.asInt(); // Menetapkan nilai yang diterima dari pin V0 ke variabel pinValue
if (pinValue == 1) // Jika nilai yang diterima adalah 1
{
digitalWrite(17, HIGH); // Nyalakan LED yang terhubung ke pin GPIO 17
}
else { // Jika nilai yang diterima bukan 1 (misalnya 0)
digitalWrite(17, LOW); // Matikan LED yang terhubung ke pin GPIO 17
}
// Memproses nilai yang diterima
}
BLYNK_WRITE(V3)
{
int pinValue = param.asInt(); // Menetapkan nilai yang diterima dari pin V0 ke variabel pinValue
if (pinValue == 1) // Jika nilai yang diterima adalah 1
{
digitalWrite(5, HIGH); // Nyalakan LED yang terhubung ke pin GPIO 5
}
else { // Jika nilai yang diterima bukan 1 (misalnya 0)
digitalWrite(5, LOW); // Matikan LED yang terhubung ke pin GPIO 5
}
// Memproses nilai yang diterima
}
BLYNK_WRITE(V4)
{
int pinValue = param.asInt(); // Menetapkan nilai yang diterima dari pin V0 ke variabel pinValue
if (pinValue == 1) // Jika nilai yang diterima adalah 1
{
digitalWrite(18, HIGH); // Nyalakan LED yang terhubung ke pin GPIO 18
}
else { // Jika nilai yang diterima bukan 1 (misalnya 0)
digitalWrite(18, LOW); // Matikan LED yang terhubung ke pin GPIO 18
}
// Memproses nilai yang diterima
}
void setup()
{
// Konsol debug
Serial.begin(115200); // Memulai komunikasi serial pada baud rate 115200
pinMode(4, OUTPUT); // Mengatur pin GPIO 4 sebagai output
pinMode(16, OUTPUT); // Mengatur pin GPIO 16 sebagai output
pinMode(17, OUTPUT); // Mengatur pin GPIO 17 sebagai output
pinMode(5, OUTPUT); // Mengatur pin GPIO 5 sebagai output
pinMode(18, OUTPUT); // Mengatur pin GPIO 18 sebagai output
Blynk.begin(auth, ssid, pass); // Memulai koneksi Blynk dengan token autentikasi dan kredensial WiFi
}
void loop()
{
Blynk.run(); // Menjalankan Blynk
}