Minggu, 06 September 2026

SIMULASI LAMPU LALU LINTAS 4 ARAH MENGGUNAKAN ESP32

Minggu, 6 September 2026

 

 

SIMULASI LAMPU LALU LINTAS 4 ARAH MENGGUNAKAN ESP32

Mata Kuliah Internet Of Things

 

 

 

 

 

 

 

 

 

Disusun Oleh Kelompok 5:

Farel Rizky Aliansi (24051204016)

Moch Septian Yudis (24051204024)

Denny Kusuma Putra (24051204027)

Brian Fawwaz Atmajaya (24051204230)

 

 

 

 

Link Vidio : https://drive.google.com/file/d/12IOgK6sVIy7TogYhYZVloOGdsxIzmHcH/view?usp=dr ive_link

 

 

 

 

 

 

 

 

Program Studi Teknik Informatika Fakultas Teknik

Universitas Negeri Surabaya


 

BAB 1

PENDAHALUAN

 

 

  1. Latar Belakang

Pertumbuhan volume kendaraan bermotor sangat tinggi terutama pada wilayah perkotaan saat ini kerap tidak sebanding dengan infrastruktur jalan raya yang ada, sehingga memicu masalah kemacetan lalu lintas yang kerap kali kita temuin, khususnya di area persimpangan 4 arah. Ketidakefisienan dalam manajemen waktu pergantian lampu lalu lintas (Traffic Light) yang masih bersifat konvensional seringkali menjadi faktor utama penumpukan kendaraan. Hal ini tidak hanya berimbas pada kerugian waktu dan ekonomi, tetapi juga berdampak pada peningkatan emisi gas buang serta risiko kecelakaan lalu lintas.

Oleh karena itu, diperlukan pemahaman mendalam mengenai arsitektur sistem kontrol lalu lintas yang terotomatisasi, efisien, dan dapat diprogram secara dinamis.

Di era perkembangan Internet of Things (IoT) dan penerapan konsep Smart City, sistem otomasi berbasis mikrokontroler menjadi solusi fundamental dalam merancang purwarupa (prototype) pengatur lalu lintas cerdas. Mikrokontroler berfungsi sebagai otak pemroses utama yang mengatur timing, mengeksekusi algoritma sekuensial, dan mengelola kontrol logika digital pada komponen perangkat keras.

Dalam praktikum ini, ESP32 dipilih sebagai perangkat System on a Chip (SoC) utama karena memiliki kemampuan komputasi yang andal, efisiensi daya yang baik, serta kelengkapan pin General-Purpose

Input/Output (GPIO) yang sangat memadai untuk mengendalikan banyak komponen sekaligus, seperti 12 buah indikator LED pada persimpangan 4 arah. Melalui implementasi pada mata kuliah Organisasi dan Arsitektur Komputer, simulasi ini menjadi sarana vital bagi mahasiswa untuk menerjemahkan teori arsitektur hardware, pemahaman instruksi pemrograman tingkat rendah (low-level logic), serta penerapan algoritma state machine ke dalam sebuah sistem fisik yang merepresentasikan solusi nyata terhadap problematika infrastruktur transportasi publik.

 

 

  1. Rumusan masalah

    • Bagaimana arsitektur perangkat keras (hardware architecture) dirancang dan diintegrasikan menggunakan mikrokontroler ESP32 beserta antarmuka komponen I/O (LED dan resistor) untuk merepresentasikan topologi sistem kendali lampu lalu lintas 4 arah?
    • Bagaimana mengimplementasikan algoritma sekuensial berbasis konsep Finite State Machine (FSM) sederhana pada program untuk mengatur sinkronisasi waktu (timing control) dan transisi kondisi (state transition) secara presisi antar persimpangan?
    • Bagaimana memanajemen General-Purpose Input/Output (GPIO) pada ESP32 melalui konfigurasi perangkat lunak tingkat rendah agar dapat merutekan sinyal digital tanpa terjadinya konflik (traffic collision) pada siklus utama (infinite loop)?


 

  1. Tujuan Laporan

    • Merealisasikan dan menganalisis rancangan arsitektur sirkuit perangkat keras, termasuk pemetaan pin GPIO ESP32 secara efisien sebagai output sinyal digital ke aktuator visual dengan memperhatikan prinsip dasar elektronika arus lemah.
    • Mengembangkan dan menguji kode program kontrol logika (control logic) berstruktur prosedural yang memanfaatkan array, perulangan, dan modularisasi fungsi untuk meminimalisasi redundansi kode saat mengeksekusi siklus 12 titik lampu.
    • Memahami secara holistik organisasi dan cara kerja mikrokontroler dalam sistem tertanam (embedded system), mulai dari tahap pengarahan pra-pemroses (define), inisialisasi keadaan aman (fail-safe condition), hingga eksekusi rutinitas berkelanjutan tanpa henti.

 

 

  1. Manfaat Penulisan

Penulisan laporan ini diharapkan dapat memberikan pemahaman lebih luas terkait interaksi tingkat rendah (low-level interfacing) antara arsitektur perangkat keras mikrokontroler ESP32 dan instruksi perangkat lunak pada sistem tertanam (embedded system). Secara teknis, penyusunan ini melatih kompetensi mahasiswa dalam merancang teknis sirkuit elektronika digital sekaligus mengimplementasikan algoritma kendali sekuensial yang terstruktur dan efisien. Lebih jauh, simulasi kontrol lalu lintas ini dapat menjadi landasan konseptual yang kokoh bagi pengembangan infrastruktur teknologi rekayasa yang lebih mutakhir, seperti integrasi Internet of Things (IoT) dan Sistem Transportasi Cerdas (Intelligent Transportation System) guna mendukung terwujudnya ekosistem Smart City di masa depan.


 

BAB 2 TINJAUAN PUSTAKA

 

  1. Dasar Teori

Mikrokontroler dan Arsitektur System on a Chip (SoC) Mikrokontroler merupakan sistem komputer mikro yang terintegrasi secara utuh dalam sebuah cip tunggal (System on a Chip/SoC).

Perangkat ESP32 yang digunakan dalam simulasi ini ditenagai oleh arsitektur mikroprosesor 32-bit yang memproses instruksi melalui siklus fetch, decode, dan execute. Kode program (firmware) yang ditulis dalam bahasa tingkat tinggi (C/C++) akan dikompilasi menjadi bahasa mesin, disimpan pada memori flash, dan kemudian dieksekusi secara sekuensial (top-down execution) oleh unit pemroses pusat (CPU) untuk mengontrol berbagai fungsi periferal.

General-Purpose Input/Output (GPIO) dan Level Logika Digital Interaksi antara mikrokontroler dengan (komponen eksternal seperti LED) dihubungkan oleh antarmuka GPIO. Secara perangkat keras, pengaturan mode pin sebagai OUTPUT menginstruksikan register arah data (Data

Direction Register/DDR) di dalam mikrokontroler untuk membuka jalur transmisi sinyal dari prosesor ke pin fisik. Saat program mengeksekusi instruksi logika digital HIGH, sirkuit transistor internal (berbasis logika CMOS) akan menghubungkan pin tersebut ke tegangan suplai operasional (VDD, yakni 3.3V pada ESP32), sehingga arus listrik mengalir untuk mengaktifkan komponen eksternal. Sebaliknya, instruksi LOW akan merutekan sirkuit ke referensi tanah (Ground/0V), memutus beda potensial dan menghentikan aliran arus.

Finite State Machine (FSM) dalam Kontrol Sekuensial Secara algoritma, pengendalian lampu lalu lintas merupakan implementasi praktis dari konsep Finite State Machine (FSM). Sistem dirancang untuk berada pada satu keadaan (state) spesifik pada satu waktu tertentu (misalnya: jalur Utara hijau, jalur lainnya merah). Transisi perpindahan dari satu keadaan ke keadaan berikutnya (hijau ke kuning, lalu merah) diatur menggunakan instruksi pewaktuan basis waktu (delay/timer delay). Fungsi eksekusi berulang tanpa henti (void loop()) memastikan sistem menjalankan seluruh state secara berurutan dan deterministik, mencegah terjadinya kondisi bentrokan sinyal (race condition) atau malfungsi pada pengaturan persimpangan.

 

 

  1. Komponen

 

No.

Nama perangkat / Komponen

Fungsi Utama Dalam Sistem

1.

1 Unit Board ESP 32

Berfungsi sebagai unit pemrosesan (CPU) dan sebagai pengontrol logika utama dalam sistem chipnya.

2.

12 Led (4 merah, 4 kuning,

4 hijau)

Berfungsi sebagai aktuator visual atau indikator state dalam simulasi.

3.

12 Resitor

Bertindak sebagai komponen pasif pembatas arus listrik (current limiter). Resistor dipasang secara seri antara pin GPIO ESP32 dan

anoda LED untuk membatasi lonjakan arus listrik yang mengalir.


 

4.

Kabel Jumper

Berfungsi sebagai media transmisi fisik (konduktor) yang

merutekan sinyal arus listrik searah (DC) dari pin output mikrokontroler menuju ke komponen elektronika eksternal


 

BAB 3 PEMBAHASAN

 

  1. Penjelasan Simulasi

Simulasi sistem pengatur lalu lintas ini mengintegrasikan dua aspek fundamental yakni interkoneksi perangkat keras (hardware interfacing) dan perancangan perangkat lunak berbasis algoritma sekuensial (software logic).

 

 



image


 

 

 

  1. Interkoneksi Sirkuit Perangkat Keras (Hardware InterfacingProses perakitan purwarupa fisik didasarkan pada prinsip sirkuit elektronika tertutup (closed-loop circuit). Langkah-langkah konfigurasinya adalah sebagai berikut:
    1. Mengintegrasikan board mikrokontroler ESP32 sebagai unit pengolah pusat (CPU) ke dalam breadboard guna mendistribusikan jalur General-Purpose Input/Output (GPIO) secara efisien.
    2. Memosisikan 12 aktuator visual (LED) yang dibagi ke dalam 4 kuadran persimpangan (Utara, Timur, Selatan, Barat), di mana setiap kuadran memuat indikator state warna Merah, Kuning, dan Hijau.
    3. Melakukan pengondisian arus listrik (current limiting) dengan menghubungkan terminal anoda (kaki positif) dari masing-masing LED ke resistor secara seri sebelum direlasikan ke pin GPIO ESP32 yang telah dialokasikan (misalnya: pin 25, 26, 27). Hal ini krusial untuk menjaga integritas material semikonduktor dari disipasi daya berlebih akibat lonjakan arus (overcurrent).
    4. Menyatukan seluruh terminal katoda (kaki negatif) dari ke-12 LED ke dalam satu simpul referensi titik nol (Common Ground/GND) pada modul ESP32 untuk menutup sirkuit arus searah (DC) kembali ke board.


 

  1. Arsitektur Logika Perangkat Lunak (Software ArchitectureProgram disusun dengan pendekatan pemrograman prosedural terstruktur yang merepresentasikan Finite State Machine (FSM) sederhana. Berikut adalah penjelasan alur eksekusinya:
    • Direktif Pra-Pemroses (Pre-processor Directives): Penggunaan makro #define (seperti #define U_MERAH 25) diinstruksikan pada level sebelum kompilasi. Pendekatan abstraksi ini memetakan label alias ke alamat register pin fisik. Hal ini secara signifikan meningkatkan keterbacaan kode (readability) dan meminimalisasi kesalahan alokasi register I/O tanpa mengonsumsi ruang memori RAM berlebih pada saat runtime.
    • Protokol Keamanan Awal (Fail-Safe Initialization - void semuaMerah()): Sub-rutin ini dirancang untuk menetapkan kondisi default yang aman sesaat setelah sistem menyala. Instruksi digitalWrite(pin, HIGH) mengonfigurasi register untuk menginjeksi tegangan logika tinggi (3.3V) ke seluruh lampu merah, sedangkan LOW membuang potensial (pull-down menjadi 0V) pada lampu kuning dan hijau. Hal ini mencegah terjadinya malfungsi lalu lintas (tabrakan kendaraan) pada fase inisialisasi awal sistem (boot-up).
    • Blok Konfigurasi Sistem (void setup()): Blok esensial ini dieksekusi satu kali oleh bootloader mikrokontroler. Untuk optimalisasi penulisan, digunakan struktur data array (int pin[]) guna menghimpun ke-12 alamat pin fisik. Dikombinasikan dengan perulangan iteratif (for loop), mikrokontroler secara sistematis mendaftarkan Data Direction Register (DDR) ke-12 pin tersebut sebagai keluaran sinyal (OUTPUT). Pemanggilan semuaMerah() pada akhir blok mengunci status keamanan sistem.
    • Modularisasi Transisi Kondisi (State Transition Routine - void jalanArah()): Fungsi ini menerapkan konsep modularisasi parameter untuk mencegah redundansi kode (Don't Repeat Yourself / DRY). Algoritma ini mengeksekusi perpindahan transisi kondisi lalu lintas secara deterministik. Penggunaan fungsi delay() (misal: 3000 ms) menginstruksikan siklus clock pada CPU untuk berhenti sementara (blocking code), menahan state lampu hijau untuk menyala, dilanjutkan dengan fase transisi kuning, dan memulihkan kondisi kembali menjadi merah sebelum CPU beralih memproses memori instruksi selanjutnya.
    • Siklus Eksekusi Utama (Infinite Execution Loop - void loop()): Fungsi ini merupakan siklus iteratif tak terbatas yang merepresentasikan operasional waktu berjalan (real-time operation). Pemanggilan fungsi modular jalanArah() dilakukan secara sekuensial (top-down execution) pada kuadran Utara, Timur, Selatan, hingga Barat. Karena dieksekusi secara sinkron dan berurutan, sistem memastikan tidak akan terjadi bentrokan sinyal antarkuadran. Siklus ini akan terus berulang secara konstan selama mikrokontroler terhubung dengan sumber daya listrik.

 

 

  1. Program

Berikut adalah kode program lengkap yang digunakan dalam proyek implementasi sistem IoT ini.

Kode program ditulis dan diimplemntasikan secara presisi untuk masing-masing mikrokontroler.


 

Kode

// UTARA

#define U_MERAH 25

#define U_KUNING 26

#define U_HIJAU 27

 

// TIMUR

#define T_MERAH 23

#define T_KUNING 22

#define T_HIJAU 21

 

// SELATAN

#define S_MERAH 14

#define S_KUNING 12

#define S_HIJAU 13

 

// BARAT

#define B_MERAH 19

#define B_KUNING 18

#define B_HIJAU 5

 

void semuaMerah() { digitalWrite(U_MERAH, HIGH); digitalWrite(T_MERAH, HIGH); digitalWrite(S_MERAH, HIGH); digitalWrite(B_MERAH, HIGH);

 

digitalWrite(U_KUNING, LOW); digitalWrite(T_KUNING, LOW); digitalWrite(S_KUNING, LOW); digitalWrite(B_KUNING, LOW);

digitalWrite(U_HIJAU, LOW); digitalWrite(T_HIJAU, LOW); digitalWrite(S_HIJAU, LOW); digitalWrite(B_HIJAU, LOW);

}

 

void setup() { int pin[] = {

U_MERAH, U_KUNING, U_HIJAU, T_MERAH, T_KUNING, T_HIJAU, S_MERAH, S_KUNING, S_HIJAU, B_MERAH, B_KUNING, B_HIJAU

};

 

for (int i = 0; i < 12; i++) { pinMode(pin[i], OUTPUT);

}


 



 

BAB 4

PENUTUP

 

 

  1. Kesimpulan

Berdasarkan hasil simulasi yang telah diimplementasikan, dapat disimpulkan bahwa arsitektur System on a Chip (SoC) pada mikrokontroler ESP32 terbukti sangat akurat dan andal dalam mengeksekusi sistem kendali tertanam (embedded control system) untuk manajemen lalu lintas 4 arah. Konfigurasi tingkat rendah pada register General-Purpose Input/Output (GPIO) sebagai jalur transmisi sinyal digital (OUTPUT) beroperasi dengan presisi tinggi dalam mengendalikan aktuator visual (LED) tanpa mengorbankan stabilitas tegangan sistem. Dari perspektif arsitektur perangkat lunak, penerapan logika

Finite State Machine (FSM) yang dieksekusi melalui paradigma pemrograman prosedural dan sinkronisasi pewaktuan (hardware timer delay) berhasil mendemonstrasikan transisi state yang deterministik, stabil, dan mengeliminasi potensi bentrokan sinyal (race condition) secara komprehensif pada siklus operasional tak terbatas (infinite loop).

 

 

  1. Saran

Untuk optimalisasi performa CPU dan pengembangan arsitektur sistem di masa mendatang, disarankan untuk mensubstitusi metode blocking delay konvensional dengan pewaktuan asinkron (non-blocking timer seperti fungsi millis()), atau mengimplementasikan Real-Time Operating System (RTOS) guna memfasilitasi komputasi multitasking. Selain itu, purwarupa ini dapat dielevasi menjadi Adaptive Traffic Control System (ATCS) dengan mengintegrasikan perangkat sensor pendeteksi volume kendaraan serta mengaktifkan fitur Hardware Interrupt (ISR) untuk menangani interupsi eksternal secara real-time (seperti modul tombol penyeberang jalan pejalan kaki). Mengingat ESP32 memiliki kapabilitas radio komunikasi bawaan, penelitian selanjutnya dapat mengeksplorasi transmisi data telemetri status persimpangan ke server komputasi awan (cloud) berbasis Internet of Things (IoT) untuk pemantauan lalu lintas terpusat.

 

 

  1. Daftar Pustaka

Espressif Systems. (2023). ESP32 Series Datasheet. Espressif Systems. Diakses dari situs resmi Espressif (Sumber utama untuk spesifikasi perangkat keras dan arsitektur pin GPIO ESP32).

Patterson, D. A., & Hennessy, J. L. (2020). Computer Organization and Design: The Hardware/Software Interface (6th ed.). Morgan Kaufmann. (Buku referensi standar untuk memahami eksekusi instruksi tingkat rendah dan arsitektur hardware).

Ramadhan, dkk. (2025). Pengontrolan Lampu Lalu Lintas Menggunakan Teknologi ESP32 sebagai Perangkat Kontrol. Jurnal SIMETRIS, 16(2).

Stallings, W. (2022). Computer Organization and Architecture: Designing for Performance (11th ed.). Pearson Education. (Buku panduan utama untuk materi CPU, interkoneksi sistem, dan unit I/O).


 

Taufikurrachman, M., dkk. (2025). Sistem Lampu Lalu Lintas Pintar untuk Kendaraan Prioritas Menggunakan ESP32. Prosiding Seminar Nasional Teknologi dan Sains (STaINS).


Tidak ada komentar:

Posting Komentar