Blynk Setup Trial — ESP32 simulation

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by ryanankar.

Components

Sketch code

/*************************************************************
  Latihan Blynk IoT dengan ESP32:
  - Potensiometer -> Pin D34 (Virtual Pin V6)
  - LED Merah   -> Pin D18 (Virtual Pin V7)
 *************************************************************/

/* Fill-in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID           "TMPL6VY-TOzBZ"
#define BLYNK_TEMPLATE_NAME         "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "0NIE1QAp2ZKNjfbqnvRLnpUDAhZJU7z7"

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

// Your WiFi credentials.
// Ganti dengan Nama WiFi dan Password Anda.
char ssid[] = "ARFANAKBAR";
char pass[] = "Aespa1705-";

BlynkTimer timer;

// Definisi Pin Sesuai Rangkaian
const int POT_PIN = 34;   // Pin SIG Potensiometer ke D34
const int LED_PIN = 18;   // Anoda LED ke D18

// Fungsi untuk mengontrol LED dari Blynk App (Virtual Pin V7)
BLYNK_WRITE(V7)
{
  int ledState = param.asInt(); // Membaca nilai tombol (0 atau 1)
  digitalWrite(LED_PIN, ledState); // Mengubah status LED fisik
}

// Fungsi ini dipanggil secara berkala oleh timer (setiap 1 detik)
void myTimerEvent()
{
  // 1. Baca nilai analog dari potensiometer (0 hingga 4095 pada ESP32)
  int potValue = analogRead(POT_PIN);

  // 2. Kirim nilai potensiometer ke Blynk Cloud pada Virtual Pin V6
  Blynk.virtualWrite(V6, potValue);

  // 3. Kirim uptime ESP32 ke Virtual Pin V2 (opsional dari template bawaan)
  Blynk.virtualWrite(V2, millis() / 1000);
}

void setup() {
  Serial.begin(115200);
  delay(1000);

  // Mulai koneksi WiFi secara manual untuk melihat pesan error-nya
  WiFi.begin(ssid, pass);
  Serial.print("Menghubungkan ke WiFi");
  
  int counter = 0;
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    counter++;
    if (counter > 40) { // Jika lebih dari 20 detik tidak tersambung
      Serial.println("\nGagal terhubung! Periksa kembali SSID/Password atau sinyal 2.4GHz.");
      break;
    }
  }
  
  if (WiFi.status() == WL_CONNECTED) {
    Serial.println("\nWiFi Berhasil Terhubung!");
    Serial.print("IP Address: ");
    Serial.println(WiFi.localIP());
  }

  // Setelah itu baru jalankan Blynk
  Blynk.config(BLYNK_AUTH_TOKEN);
  Blynk.connect();

  pinMode(LED_PIN, OUTPUT);
  pinMode(POT_PIN, INPUT);
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run();
}

More projects by ryanankar