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 Komponen | Gambar Komponen |
|---|---|
| NodeMcu esp8266 | ![]() |
| Sensor Infra Red Obstacle 3 Buah | ![]() |
| LCD 16×2 I2C | ![]() |
| kabel Jumper | ![]() |
| Breadboard | ![]() |
Skema Koneksi Komponen

| Slot | ESP8266 | Sensor IR |
|---|---|---|
| 1 | D1 | OUT |
| 2 | D2 | OUT |
| 3 | D3 | OUT |
| 3v3 | VCC | |
| GND | GND |
| ESP8266 | LCD I2C |
|---|---|
| D5 | SCL |
| D6 | SDA |
| Vin / VU | VCC |
| GND | GND |
Library yang Digunakan
Pastikan library berikut sudah terpasang pada Arduino IDE:
ESP8266WiFi.hESPAsyncWebServer.hESPAsyncTCP.hLiquidCrystal_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
- Rangkai seluruh komponen sesuai skema koneksi.
- Unggah program ke ESP8266 menggunakan Arduino IDE.
- Hubungkan HP atau laptop ke WiFi SmartParkingIR_AP.
- Buka browser dan akses alamat IP
192.168.4.1untuk melihat dashboard parkir.





