Tanggal Percobaan Judul Percobaan Arduino Paraf
27 September 2025 LED
A. Tujuan Percobaan
1. Menggunakan Arduino/ESP32 sebagai Mikrokontroler
2. Membuat Program Sederhana untuk menyalakan LED pada pin 18,19, dan 23 berkedip
secara bergantian
3. Membuat Program Lampu Lalu Lintas sederhana dengan LED pada pin 18,19, dan 23
untuk Persimpangan 1.
B. Alat dan Bahan
1. 1 x Arduino Board / ESP32 Board (Saya menggunakan ESP32 Board)
2. 3 x Module 3 LED (Merah,kuning,hijau)
3. Breadboard
4. Resistor 330Ω
5. Kabel Jumper
C. Teori Singkat dan Rangkaian Percobaan
LED merupakan kependekan dari Light Emitting Diode, yaitu dioda yang mampu
mengubah energi listrik menjadi cahaya. Seperti halnya dioda pada umumnya, LED
memiliki dua kaki: positif (anoda) dan negatif (katoda). Oleh karena itu, pemasangan LED
tidak boleh terbalik. Jika terbalik, arus tidak akan mengalir dan LED tidak akan menyala.
ESP32 bekerja pada tegangan 3.3 volt, bukan 5 volt seperti Arduino. Tegangan ini berasal
dari pin output digitalnya, sehingga LED yang disambungkan ke ESP32 akan
mendapatkan tegangan 3.3 volt saja. Karena arus yang keluar dari pin ESP32 bisa tetap
cukup besar untuk merusak LED jika tidak dibatasi, maka diperlukan resistor (tahanan)
untuk membatasi arus yang masuk ke LED.
LED memiliki tegangan kerja yang disebut dengan forward voltage (fv), yaitu tegangan
minimum yang dibutuhkan LED untuk menyala. Umumnya berkisar antara 1.8V–3.3V,
tergantung warna LED-nya. Misalnya, LED merah biasanya memiliki fv sekitar 2V.
Ukuran resistor yang digunakan tergantung pada tegangan dan arus yang diinginkan.
Untuk ESP32 (3.3V), nilai resistor yang umum dipakai berada di kisaran 150Ω hingga
330Ω. Jika menggunakan nilai resistor yang lebih besar (misalnya 1KΩ), LED akan tetap
menyala, tetapi cahayanya akan lebih redup. Sebaliknya, jika resistor terlalu kecil, arus
bisa terlalu besar dan merusak LED atau bahkan pin ESP32.
Gambar 1. Rangkaian Led Blink
Berikut ini adalah gambar simulasi penempatan komponen pada breadboard dan board
Arduino/ESP32
Gambar 2. Simulasi LED Persimpangan
Percobaan Rangkaian:
Gambar 3. Persimpangan 1 Gambar 4. Persimpangan 2
Gambar 5. Persimpangan 3
Source Code:
//Inisialisasi pin
int led_merah_p1 = 18;
int led_kuning_p1 = 19;
int led_hijau_p1 = 23;
int led_merah_p2 = 14;
int led_kuning_p2 = 16;
int led_hijau_p2 = 17;
int led_merah_p3 = 2;
int led_kuning_p3 = 4;
int led_hijau_p3 = 5;
void setup() {
//mengkonfigurasi agar pin tersebut sebagai output
pinMode(led_merah_p1,OUTPUT);
pinMode(led_kuning_p1,OUTPUT);
pinMode(led_hijau_p1,OUTPUT);
pinMode(led_merah_p2,OUTPUT);
pinMode(led_kuning_p2,OUTPUT);
pinMode(led_hijau_p2,OUTPUT);
pinMode(led_merah_p3,OUTPUT);
pinMode(led_kuning_p3,OUTPUT);
pinMode(led_hijau_p3,OUTPUT);
void loop() {
persimpangan1();
persimpangan2();
persimpangan3();
}
void persimpangan1() {
digitalWrite(led_hijau_p1, HIGH);
digitalWrite(led_hijau_p2, LOW);
digitalWrite(led_hijau_p3, LOW);
digitalWrite(led_kuning_p1, LOW);
digitalWrite(led_kuning_p2, LOW);
digitalWrite(led_kuning_p3, LOW);
digitalWrite(led_merah_p1, LOW);
digitalWrite(led_merah_p2, HIGH);
digitalWrite(led_merah_p3, HIGH);
delay(1000);
digitalWrite(led_hijau_p1, LOW);
digitalWrite(led_hijau_p2, LOW);
digitalWrite(led_hijau_p3, LOW);
digitalWrite(led_kuning_p1, HIGH);
digitalWrite(led_kuning_p2, HIGH);
digitalWrite(led_kuning_p3, LOW);
digitalWrite(led_merah_p1, LOW);
digitalWrite(led_merah_p2, LOW);
digitalWrite(led_merah_p3, HIGH);
delay(1000);
}
void persimpangan2() {
digitalWrite(led_hijau_p1, LOW);
digitalWrite(led_hijau_p2, HIGH);
digitalWrite(led_hijau_p3, LOW);
digitalWrite(led_kuning_p1, LOW);
digitalWrite(led_kuning_p2, LOW);
digitalWrite(led_kuning_p3, LOW);
digitalWrite(led_merah_p1, HIGH);
digitalWrite(led_merah_p2, LOW);
digitalWrite(led_merah_p3, HIGH);
delay(1000);
digitalWrite(led_hijau_p1, LOW);
digitalWrite(led_hijau_p2, LOW);
digitalWrite(led_hijau_p3, LOW);
digitalWrite(led_kuning_p1, LOW);
digitalWrite(led_kuning_p2, HIGH);
digitalWrite(led_kuning_p3, HIGH);
digitalWrite(led_merah_p1, HIGH);
digitalWrite(led_merah_p2, LOW);
digitalWrite(led_merah_p3, LOW);
delay(1000);
}
void persimpangan3() {
digitalWrite(led_hijau_p1, LOW);
digitalWrite(led_hijau_p2, LOW);
digitalWrite(led_hijau_p3, HIGH);
digitalWrite(led_kuning_p1, LOW);
digitalWrite(led_kuning_p2, LOW);
digitalWrite(led_kuning_p3, LOW);
digitalWrite(led_merah_p1, HIGH);
digitalWrite(led_merah_p2, HIGH);
digitalWrite(led_merah_p3, LOW);
delay(1000);
digitalWrite(led_hijau_p1, LOW);
digitalWrite(led_hijau_p2, LOW);
digitalWrite(led_hijau_p3, LOW);
digitalWrite(led_kuning_p1, HIGH);
digitalWrite(led_kuning_p2, LOW);
digitalWrite(led_kuning_p3, HIGH);
digitalWrite(led_merah_p1, LOW);
digitalWrite(led_merah_p2, HIGH);
digitalWrite(led_merah_p3, LOW);
delay(1000); }
Penjelasan Program:
Program ini berfungsi untuk mengatur simulasi lampu lalu lintas pada tiga persimpangan
dengan menggunakan mikrokontroler ESP32 Board atau Arduino. Pada bagian awal program,
didefinisikan pin-pin yang digunakan untuk masing-masing LED. Persimpangan 1
menggunakan pin 18 (merah), 19 (kuning), dan 23 (hijau). Persimpangan 2 menggunakan pin
14 (merah), 16 (kuning), dan 17 (hijau). Persimpangan 3 menggunakan pin 2 (merah), 4
(kuning), dan 5 (hijau).
Pada fungsi setup(), semua pin tersebut diatur sebagai OUTPUT karena berfungsi untuk
menyalakan dan mematikan LED sesuai kondisi lampu lalu lintas.
Fungsi loop() menjalankan tiga fungsi utama yaitu persimpangan1(), persimpangan2(), dan
persimpangan3() secara bergantian. Masing-masing fungsi tersebut mengatur logika nyala-
mati lampu hijau, kuning, dan merah pada persimpangan tertentu, sementara persimpangan lain
menampilkan kondisi merah atau kuning sesuai urutan.
1. Pada persimpangan1(), lampu hijau menyala di persimpangan 1, sementara
persimpangan 2 dan 3 tetap merah. Setelah jeda 1 detik, lampu persimpangan 1 berganti
ke kuning, lalu lampu lain menyesuaikan agar aman untuk transisi.
2. Pada persimpangan2(), giliran persimpangan 2 mendapat lampu hijau, sedangkan
persimpangan lain merah. Setelah 1 detik, lampu berubah ke kuning untuk transisi
sebelum berganti ke persimpangan berikutnya.
3. Pada persimpangan3(), persimpangan 3 mendapat lampu hijau, sementara
persimpangan lain tetap merah. Kemudian berganti ke kuning sebagai tanda transisi,
sebelum kembali lagi ke siklus persimpangan 1.
Dengan pola ini, program akan terus berulang, di mana setiap persimpangan mendapatkan
kesempatan lampu hijau secara bergiliran, kemudian berganti ke lampu kuning, dan lampu
merah menyala di persimpangan lainnya. Sistem ini meniru cara kerja lampu lalu lintas
sederhana untuk tiga jalur persimpangan agar arus kendaraan berjalan bergantian dan tidak
terjadi tabrakan.
Tugas
1. Buatlah rangkaian dan program untuk menyalakan 4 buah LED secara berurutan
2. Buatlah rangkaian dan program untuk menyalakan 4 buah LED secara berurutan, dengan
durasi perpindahan nyala LED selama 1 detik
3. Buatlah rangkaian dan program untuk membuat simulasi lampu lalulintas dan jelaskan tiap
baris dari program tersebut
4. Amati jalannya seluruh sistem yang dibuat
5. Buat dalam bentuk laporan seluruh proses percobaan yang telah dilakukan, laporan berupa
diagram, gambar rangkaian, komponen yang digunakan dan source code