Sistem Parkir Pintar Berbasis ESP8266 dengan Sensor Infrared

Pengelolaan area parkir akan menjadi lebih efisien apabila kondisi setiap slot parkir dapat diketahui secara langsung. Salah satu solusi sederhana yang dapat diterapkan adalah Sistem Parkir Pintar yang mampu mendeteksi keberadaan kendaraan pada setiap slot.

Pada blog post ini, kita akan membahas pembuatan Sistem Parkir Pintar menggunakan ESP8266 dan sensor infrared (IR) pada setiap slot parkir. Sistem ini menampilkan status tiap slot, jumlah kendaraan terparkir, serta jumlah slot kosong melalui dashboard web dan LCD 16×2.

Seperti proyek-proyek sebelumnya, ESP8266 dijalankan dalam mode Access Point (AP) dan menggunakan Async Web Server, sehingga sistem dapat digunakan tanpa koneksi internet.

Sistem parkir pintar ini menggunakan 3 buah sensor infrared yang masing-masing dipasang pada satu slot parkir. Sensor akan mendeteksi keberadaan kendaraan berdasarkan pantulan objek di depannya.

ESP8266 akan membaca status setiap sensor, kemudian:

  • Menentukan apakah slot parkir TERISI atau KOSONG
  • Menghitung jumlah kendaraan yang sedang terparkir
  • Menghitung jumlah slot parkir yang masih tersedia

Informasi tersebut ditampilkan secara lokal melalui LCD 16×2 dan secara visual melalui dashboard web yang dapat diakses menggunakan HP atau laptop.

Alat dan Bahan yang Dibutuhkan

Nama KomponenGambar Komponen
NodeMcu esp8266
Sensor Infra Red Obstacle 3 Buah
LCD 16×2 I2C
kabel Jumper
Breadboard

Skema Koneksi Komponen

SlotESP8266Sensor IR
1D1OUT
2D2OUT
3D3OUT
3v3VCC
GNDGND
ESP8266 LCD I2C
D5SCL
D6SDA
Vin / VUVCC
GNDGND

Library yang Digunakan

Pastikan library berikut sudah terpasang pada Arduino IDE:

  • ESP8266WiFi.h
  • ESPAsyncWebServer.h
  • ESPAsyncTCP.h
  • LiquidCrystal_I2C.h

Code

#include <ESP8266WiFi.h>
pinMode(IR1, INPUT);
pinMode(IR2, INPUT);
pinMode(IR3, INPUT);


WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);


server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
bool slot1 = digitalRead(IR1) == LOW;
bool slot2 = digitalRead(IR2) == LOW;
bool slot3 = digitalRead(IR3) == LOW;


int used = 0;
if (slot1 == true) { used++; }
if (slot2 == true) { used++; }
if (slot3 == true) { used++; }


int totalSlot = 3;
int freeSlot = totalSlot - used;


request->send(200, "text/html", htmlPage(slot1, slot2, slot3, used, freeSlot));
});


server.begin();
}


void loop() {
bool slot1 = digitalRead(IR1) == LOW;
bool slot2 = digitalRead(IR2) == LOW;
bool slot3 = digitalRead(IR3) == LOW;


int used = 0;
if (slot1 == true) { used++; }
if (slot2 == true) { used++; }
if (slot3 == true) { used++; }


int totalSlot = 3;
int freeSlot = totalSlot - used;


lcd.setCursor(0, 0);
lcd.print("Parkir:");
lcd.print(used);
lcd.print("/");
lcd.print(totalSlot);


lcd.setCursor(0, 1);
lcd.print("Kosong:");
lcd.print(freeSlot);
lcd.print(" ");


delay(500);
}

Cara Menggunakan Sistem

  1. Rangkai seluruh komponen sesuai skema koneksi.
  2. Unggah program ke ESP8266 menggunakan Arduino IDE.
  3. Hubungkan HP atau laptop ke WiFi SmartParkingIR_AP.
  4. Buka browser dan akses alamat IP 192.168.4.1 untuk melihat dashboard parkir.