• 082226375801
  • alfianmaarif@ee.uad.ac.id
  • Yogyakarta
Materi
Tutorial ESP32: Sistem Deteksi PJU Rusak Otomatis Berbasis IoT ESP32 & Blynk IoT pada WOKWI

Tutorial ESP32: Sistem Deteksi PJU Rusak Otomatis Berbasis IoT ESP32 & Blynk IoT pada WOKWI

Pada bagian ini akan dibahas pembuatan sistem monitoring dan deteksi kerusakan Penerangan Jalan Umum (PJU) pintar berbasis mikrokontroler ESP32, sensor LDR untuk mengukur intensitas cahaya dari lampu, LED/Relay sebagai simulasi beban lampu PJU, layar LCD 16×2 I2C, serta platform Blynk IoT pada software simulasi WOKWI. Skematik rangkaian ditunjukkan pada Gambar 1, program Arduino pada Kode 1, dan video pembuatan pada tautan Video 1. Sistem bekerja dengan memeriksa kecerahan lampu saat mode malam hari diaktifkan via aplikasi Blynk. Jika sistem memerintahkan lampu menyala (mode malam) namun sensor LDR tidak mendeteksi paparan cahaya (Lux < 20.0), sistem secara otomatis mendeteksi adanya kerusakan/lampu putus, menampilkan lokasi tiang PJU secara terpresisi, dan memberikan peringatan darurat berupa event notification real-time ke aplikasi Blynk.

Gambar 1. Skematik rangkaian sistem

List Pin:

  • LCD 16×2 I2C (Alamat: 0x27)
    GND => GND
    VCC => 5V / 3.3V
    SDA => GPIO 21
    SCL => GPIO 22
  • Sensor Cahaya Pendeteksi Lampu (LDR Sensor)
    AO (Analog Output) => GPIO 34 (LDR_PIN)
    VCC => 3.3V
    GND => GND
  • Beban Lampu PJU (Simulasi LED / Relay)
    Anode (+ / Signal) => GPIO 2 (LAMPU_PIN)
    Cathode (-) => GND

List Virtual Pin:

  • V0 => Luminance / Lux (Float) – Menampilkan Intensitas Cahaya Kecerahan Lampu PJU
  • V1 => Lokasi PJU / Status Kerusakan (String) – Menampilkan Lokasi Tiang PJU yang Rusak (Contoh: “Jl. Malioboro Blok A-01”) atau “Tidak Ada Kerusakan”
  • V2 => Status Sistem PJU (String) – Menampilkan Kondisi Real-Time PJU (“PJU AMAN (SIANG)”, “PJU NORMAL (MALAM)”, atau “LAMPU RUSAK!!”)
  • V3 => Switch Kontrol Waktu / Mode Malam (Integer 0/1) – Sakelar Kontrol Simulasi Waktu Siang (0) dan Malam (1) dari Aplikasi Blynk

Kode Arduino 1. Kode Program

// ============================= 
// ALFIAN CENTER 
// SUBSCRIBE 
// Sistem Deteksi PJU Rusak Otomatis Berbasis IoT ESP32 Secara Real-Time Blynk (Wokwi)
// PROGRAM BAKAL AKU KIRIM DENGAN SYARAT DIBAWAH 
// LIKE 50, KOMEN 30 DAN * WAJIB SUBSCRIBE *
// PROGRAM DIKIRIM VIA KOMENTAR 
// =============================

#define BLYNK_TEMPLATE_ID "ID"
#define BLYNK_TEMPLATE_NAME "NAME"
#define BLYNK_AUTH_TOKEN "TOKEN"

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

#define LDR_PIN 34
#define LAMPU_PIN 2

const float GAMMA = 0.7;
const float RL10 = 50;

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";

LiquidCrystal_I2C lcd(0x27, 16, 2);
BlynkTimer timer;

// Variabel Kontrol
int isMalamHari = 0; // 0 = Siang (Lampu OFF), 1 = Malam (Lampu ON)

// Nama Lokasi Tiang Lampu dalam bentuk String
const String NAMA_LOKASI = "Jl. Malioboro Blok A-01";

// Menerima status waktu dari tombol Blynk (V3)
BLYNK_WRITE(V3) {
  isMalamHari = param.asInt();
}

void checkStreetlight() {
  // 1. Hitung Nilai Lux Akurat dari Lampu
  int nilaiADC = analogRead(LDR_PIN);
  if (nilaiADC >= 4095) nilaiADC = 4094;
  float voltage = nilaiADC * 5.0 / 4095.0;
  float resistance = 2000 * voltage / (1 - voltage / 5.0);
  float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));

  String statusSistem = "";
  String lokasiStatus = "";

  // 2. Logika Kontrol Lampu & Deteksi Kerusakan
  if (isMalamHari == 1) {
    digitalWrite(LAMPU_PIN, HIGH); // Perintahkan lampu menyala
    
    // Jika waktu malam (lampu harusnya ON) tapi LDR membaca gelap (< 20 Lux)
    if (lux < 20.0) {
      statusSistem = "LAMPU RUSAK!!";
      lokasiStatus = NAMA_LOKASI; // Kirim string lokasi ke Blynk
      
      // Kirim notifikasi darurat ke HP
      Blynk.logEvent("lampu_rusak", "Peringatan! Lampu di " + NAMA_LOKASI + " Terdeteksi Putus!");
    } else {
      statusSistem = "PJU NORMAL (MALAM)";
      lokasiStatus = "Tidak Ada Kerusakan";
    }
  } else {
    // Jika Siang Hari
    digitalWrite(LAMPU_PIN, LOW);
    statusSistem = "PJU AMAN (SIANG)";
    lokasiStatus = "Tidak Ada Kerusakan";
  }

  // 3. Kirim data ke Dashboard Blynk
  Blynk.virtualWrite(V0, lux);
  Blynk.virtualWrite(V1, lokasiStatus); // Mengisi Widget Value Display teks lokasi
  Blynk.virtualWrite(V2, statusSistem);

  // 4. Tampilan Lokal ke LCD
  lcd.setCursor(0, 0);
  lcd.print("Lux: "); lcd.print(lux, 1); lcd.print("      ");
  lcd.setCursor(0, 1);
  lcd.print(statusSistem.substring(0, 16)); // Potong string agar muat di LCD 16 karakter
}

void setup() {
  Serial.begin(115200);
  pinMode(LAMPU_PIN, OUTPUT);
  pinMode(LDR_PIN, INPUT);

  lcd.init();
  lcd.backlight();
  lcd.print("Smart City PJU...");

  Blynk.begin(auth, ssid, pass);
  lcd.clear();

  // Cek kondisi lampu setiap 2 detik
  timer.setInterval(2000L, checkStreetlight);
}

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

Video 1. Video tutorial pembuatan

TAG:

pju pintar esp32, deteksi pju rusak iot, smart street light esp32, sensor ldr pju esp32, blynk iot street light, simulasi wokwi esp32, tutorial esp32 blynk, iot smart city pju, pju otomatis blynk, ldr sensor lux wokwi, deteksi lampu jalan putus, relay pju esp32, lcd 16×2 i2c esp32, otomatisasi pju smart city, deteksi pju mati blynk, tutorial blynk iot pju, koding esp32 pju pintar, library blynk esp32, library liquidcrystal i2c, gpio 34 ldr esp32, gpio 2 led lampu esp32, proyek iot esp32, tutorial wokwi indonesia, simulasi iot pju rusak, pemantauan lampu jalan jarak jauh, blynk iot app pju, datastream blynk ldr pju, virtual pin blynk pju, smart city iot esp32, proyek teknik elektro iot, mekatronika pju pintar, tugas akhir iot pju, skripsi iot smart street light, ide proyek esp32 iot, skematik pju pintar esp32, diagram rangkaian ldr led lcd, source code pju rusak esp32, program arduino pju blynk, simulasi iot tanpa hardware, platform simulasi wokwi, wokwi esp32 smart street light, blynk auth token esp32, detektor pju rusak berbasis iot, telemetry data lux pju, proyek sains iot elektro, portofolio iot esp32, praktikum mikrokontroler esp32, modul esp32 wroom 32, pinout esp32 ldr led, gpio esp32 sensor lcd, indikator lampu jalan blynk, grafik intensitas cahaya blynk, smart lighting esp32, efisiensi energi pju pintar, panduan iot pju esp32, belajar mikrokontroler online, simulator komponen elektronik, wokwi custom chip esp32, blynk iot platform pju, internet of things indonesia, iot smk elektro, iot universitas elektro, prototipe pju pintar esp32, alat pendeteksi lampu jalan rusak, iot smart infrastructure, esp32 arduino ide blynk, tutorial iot pemula, proyek elektro smart city, panduan lengkap wokwi blynk, deteksi intensitas cahaya lux ldr, sistem alarm pju rusak, logika deteksi pju mati, notifikasi blynk logevent, sistem penerangan jalan umum, otomatisasi kota pintar, proyek mekatronika elektro, simulasi hardware pju pintar, sistem pju pintar esp32, proyek iot populer, kodingan detektor pju rusak, sensor ldr analog esp32, rangkaian ldr dan lcd, tutorial mikrokontroler iot, wawasan iot teknik elektro, aplikasi iot smart city, pju cerdas esp32, koding logika lampu rusak, pemantauan kondisi pju real time, iot streetlight management system

Leave a Reply

Your email address will not be published. Required fields are marked *