Fredy Siswanto

Arduino

Membuat Lampu Lalu Lintas Simpang Empat dengan Arduino

1 Oktober 2024 5 min read 0 Komentar

Proyek lampu lalu lintas simpang empat (traffic light) adalah salah satu proyek Arduino yang menarik dan bermanfaat untuk dipelajari oleh pemula maupun tingkat menengah. Pada proyek ini, kita akan membuat sistem lampu lalu lintas yang mengatur kendaraan di simpang empat menggunakan Arduino Uno dan beberapa LED. Proyek ini akan mensimulasikan lampu lalu lintas dengan urutan lampu merah, kuning, dan hijau pada setiap jalur di persimpangan.

Alat dan Bahan yang Dibutuhkan

  • 1 x Arduino Uno (atau tipe Arduino lainnya)
  • 12 x LED (4 merah, 4 kuning, 4 hijau)
  • 12 x Resistor 220Ω
  • Breadboard
  • Kabel jumper
  • Sumber daya untuk Arduino (kabel USB atau baterai)

Cara Kerja Proyek

Sistem lampu lalu lintas mengontrol empat arah di persimpangan menggunakan tiga warna LED untuk setiap arah (merah, kuning, hijau). Urutannya adalah:

  1. Lampu hijau menyala di satu jalur, yang berarti kendaraan dapat melintas.
  2. Lampu kuning menyala sebagai peringatan bahwa lampu akan segera berubah.
  3. Lampu merah menyala, menghentikan kendaraan di jalur tersebut, sementara jalur lain mendapatkan lampu hijau.

Proses ini berulang untuk setiap arah.

Prinsip Kerja:

  • Merah: Kendaraan berhenti.
  • Kuning: Peringatan bahwa lampu akan berubah.
  • Hijau: Kendaraan dapat melaju.

Diagram Rangkaian

Langkah-langkah Rangkaian:

Diagram Lampu Lalu Lintas Simpang Empat dengan Arduino
  1. Hubungkan LED merah untuk setiap arah ke pin digital (pin 2, 5, 8, 11).
  2. Hubungkan LED kuning untuk setiap arah ke pin digital lainnya (pin 3, 6, 9, 12).
  3. Hubungkan LED hijau untuk setiap arah ke pin digital (pin 4, 7, 10, 13).
  4. Hubungkan setiap kaki anoda (kaki panjang) LED ke pin yang sesuai di Arduino melalui resistor 220Ω.
  5. Hubungkan semua kaki katoda (kaki pendek) LED ke GND pada Arduino.

Diagram Koneksi:

  • Pin 2, 5, 8, 11LED merah
  • Pin 3, 6, 9, 12LED kuning
  • Pin 4, 7, 10, 13LED hijau
  • GND (Arduino)katoda semua LED melalui jalur GND di breadboard.

Kode Program untuk Lampu Lalu Lintas Simpang Empat

Setelah rangkaian selesai, kita akan membuat kode untuk mengatur urutan lampu lalu lintas. Setiap jalur akan mendapatkan waktu tertentu untuk lampu hijau, kuning, dan merah. Berikut adalah contoh kode untuk proyek ini:

// Deklarasi pin untuk setiap LED
int red1 = 2, yellow1 = 3, green1 = 4;    // Arah 1
int red2 = 5, yellow2 = 6, green2 = 7;    // Arah 2
int red3 = 8, yellow3 = 9, green3 = 10;   // Arah 3
int red4 = 11, yellow4 = 12, green4 = 13; // Arah 4

void setup() {
  // Mengatur semua pin sebagai output
  pinMode(red1, OUTPUT);
  pinMode(yellow1, OUTPUT);
  pinMode(green1, OUTPUT);

  pinMode(red2, OUTPUT);
  pinMode(yellow2, OUTPUT);
  pinMode(green2, OUTPUT);

  pinMode(red3, OUTPUT);
  pinMode(yellow3, OUTPUT);
  pinMode(green3, OUTPUT);

  pinMode(red4, OUTPUT);
  pinMode(yellow4, OUTPUT);
  pinMode(green4, OUTPUT);
}

void loop() {
  // Urutan Lampu Lalu Lintas untuk Arah 1
  lampuLaluLintas(green1, yellow1, red1, red2, red3, red4);

  // Urutan Lampu Lalu Lintas untuk Arah 2
  lampuLaluLintas(green2, yellow2, red2, red1, red3, red4);

  // Urutan Lampu Lalu Lintas untuk Arah 3
  lampuLaluLintas(green3, yellow3, red3, red1, red2, red4);

  // Urutan Lampu Lalu Lintas untuk Arah 4
  lampuLaluLintas(green4, yellow4, red4, red1, red2, red3);
}

// Fungsi untuk mengontrol lampu lalu lintas
void lampuLaluLintas(int green, int yellow, int red, int redOther1, int redOther2, int redOther3) {
  // Nyalakan lampu hijau untuk jalur yang aktif, dan lampu merah untuk jalur lainnya
  digitalWrite(green, HIGH); // Hijau menyala
  digitalWrite(redOther1, HIGH);
  digitalWrite(redOther2, HIGH);
  digitalWrite(redOther3, HIGH);
  delay(5000);               // Hijau menyala selama 5 detik

  // Ganti ke kuning
  digitalWrite(green, LOW);
  digitalWrite(yellow, HIGH); // Kuning menyala
  delay(2000);                // Kuning menyala selama 2 detik
  digitalWrite(yellow, LOW);

  // Ganti ke merah
  digitalWrite(red, HIGH);    // Merah menyala
  delay(5000);                // Merah menyala selama 5 detik
  digitalWrite(redOther1, LOW);
  digitalWrite(redOther2, LOW);
  digitalWrite(redOther3, LOW);
}

Penjelasan Kode:

  • int red1, yellow1, green1: Mendeklarasikan pin untuk LED merah, kuning, dan hijau di setiap arah.
  • pinMode(): Mengatur setiap pin LED sebagai output.
  • lampuLaluLintas(): Fungsi ini mengatur urutan menyala/mati setiap lampu (hijau, kuning, merah) dan memastikan bahwa lampu merah menyala di jalur lain.
  • digitalWrite(pin, HIGH/LOW): Menyalakan atau mematikan LED yang terhubung ke pin yang ditentukan.

Urutan Operasi:

  1. Lampu Hijau untuk satu jalur menyala selama 5 detik, sementara lampu merah untuk jalur lainnya menyala.
  2. Setelah itu, Lampu Kuning menyala selama 2 detik, memberikan peringatan bahwa lampu akan segera berubah.
  3. Lalu, Lampu Merah menyala selama 5 detik di jalur tersebut, dan siklus dilanjutkan ke jalur lain.

Mengunggah Program ke Arduino

  1. Sambungkan Arduino ke komputer menggunakan kabel USB.
  2. Buka Arduino IDE dan salin kode di atas.
  3. Pilih port dan board yang sesuai (Tools → Board → Arduino Uno, Tools → Port → pilih port yang sesuai).
  4. Klik Upload untuk mengunggah program ke Arduino.
  5. Setelah program berhasil diunggah, sistem lampu lalu lintas akan mulai bekerja sesuai dengan urutan yang telah ditentukan.

Modifikasi dan Pengembangan Proyek

Proyek lampu lalu lintas ini dapat dikembangkan lebih lanjut dengan beberapa fitur tambahan, seperti:

  • Menambahkan tombol tekan (push button) untuk mensimulasikan pejalan kaki yang menyeberang jalan.
  • Menghubungkan buzzer untuk memberikan suara saat lampu kuning menyala sebagai peringatan.
  • Menggunakan sensor ultrasonik untuk mendeteksi kendaraan dan mengatur waktu lampu hijau berdasarkan antrian kendaraan.

Kesimpulan

Proyek lampu lalu lintas simpang empat dengan Arduino adalah cara yang bagus untuk belajar tentang kontrol logika, penggunaan pin output digital, serta pemrograman mikrokontroler. Proyek ini memberikan pemahaman dasar tentang bagaimana sistem lampu lalu lintas bekerja di dunia nyata, dan bagaimana Arduino dapat digunakan untuk mengontrol berbagai perangkat elektronik. Semakin kompleks proyek yang kamu buat, semakin banyak pemahaman yang bisa kamu dapatkan tentang cara kerja mikrokontroler dan sistem otomatisasi.

Simulasi Proyek Lampu Lalu Lintas Simpang Empat dengan Arduino – Wokwi ESP32, STM32, Arduino Simulator

0 Komentar

Tambahkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


Math Captcha
eighty three − = seventy nine


Belum ada komentar.