Membuat lampu lalu lintas mini adalah
proyek DIY (Do It Yourself) yang
melibatkan pembuatan model skala kecil dari sistem lampu lalu lintas
menggunakan komponen elektronik dan mikrokontroler, seperti Arduino.
Proyek ini bertujuan untuk meniru fungsi lampu lalu lintas nyata yang
mengatur arus lalu lintas di persimpangan jalan. Pada proyek ini, lampu
LED digunakan untuk mewakili lampu merah, kuning, dan hijau, sedangkan
mikrokontroler digunakan untuk mengontrol urutan dan durasi nyala setiap
lampu.
Komponen untuk Membuat Lampu Lalu Lintas Mini
1. Arduino Uno
2. LED merah, kuning dan hijau untuk mensimulasikan lampu lalu lintas.
3. Resistor 220 ohm untuk membatasi arus ke LED.
4. Breadboard dan kabel jumper untuk merangkai komponen.
5. Kabel USB untuk menghubungkan Arduino ke komputer.
Rangkaian Elektronik
• Pasang tiga LED pada breadboard. Beri jarak yang cukup antara LED merah, kuning dan hijau.
• Hubungkan katoda (kaki yang lebih pendek) dari setiap LED ke jalur ground (GND) di breadboard.
• Hubungkan anoda (kaki yang lebih panjang) dari LED merah, kuning, dan hijau masing-masing ke pin digital Arduino dengan resistor 220 ohm di antaranya. Contoh, LED merah ke pin 8, LED kuning ke pin 9, dan LED hijau ke pin 10.
Baca juga : Proyek Sains untuk Anak-anak: Termometer Digital dengan Arduino
Pemrograman Arduino
Tulis kode program yang akan mengontrol LED untuk mensimulasikan urutan lampu lalu lintas. Berikut ini contoh kode program sederhana untuk mengendalikan LED sesuai urutan lampu lalu lintas:
// Mendefinisikan pin untuk setiap LED
const int ledMerah = 8;
const int ledKuning = 9;
const int ledHijau = 10;
void setup() {
// Mengatur setiap pin LED sebagai output
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
}
void loop() {
// Menyalakan LED hijau selama 5 detik
digitalWrite(ledHijau, HIGH);
delay(5000); // Menunggu 5 detik
digitalWrite(ledHijau, LOW);
// Menyalakan LED kuning selama 2 detik
digitalWrite(ledKuning, HIGH);
delay(2000); // Menunggu 2 detik
digitalWrite(ledKuning, LOW);
// Menyalakan LED merah selama 5 detik
digitalWrite(ledMerah, HIGH);
delay(5000); // Menunggu 5 detik
digitalWrite(ledMerah, LOW);
}
Penjelasan Kode
• `const int ledMerah = 8;` untuk menentukan pin untuk LED merah.
• `const int ledKuning = 9;` untuk menentukan pin untuk LED kuning.
• `const int ledHijau = 10;` untuk menentukan pin untuk LED hijau.
• `pinMode(ledMerah, OUTPUT);` untuk mengatur pin LED merah sebagai output.
• `pinMode(ledKuning, OUTPUT);` untuk mengatur pin LED kuning sebagai output.
• `pinMode(ledHijau, OUTPUT);` untuk mengatur pin LED hijau sebagai output.
• `digitalWrite(ledHijau, HIGH);` untuk menyalakan LED hijau.
• `delay(5000);` untuk menunggu selama 5 detik.
• `digitalWrite(ledHijau, LOW);` untuk mematikan LED hijau.
• `digitalWrite(ledKuning, HIGH);` untuk menyalakan LED kuning.
• `delay(2000);` untuk menunggu selama 2 detik.
• `digitalWrite(ledKuning, LOW);` untuk mematikan LED kuning.
• `digitalWrite(ledMerah, HIGH);` untuk menyalakan LED merah.
• `delay(5000);` untuk menunggu selama 5 detik.
• `digitalWrite(ledMerah, LOW);` untuk mematikan LED merah.
Uji Coba
1. Hubungkan Arduino ke komputer atau sumber daya.
2. Perhatikan urutan nyala LED apakah sudah sesuai dengan urutan lampu lalu lintas (hijau -> kuning -> merah).
Jika urutan nyala LED tidak sesuai, pastikan:
• Semua koneksi pada breadboard terpasang dengan benar.
• Tidak ada kabel yang longgar atau terputus.
• Resistor terhubung dengan benar antara pin Arduino dan LED.
Pengembangan Lanjutan
Proyek lampu lalu lintas mini ini dapat dikembangkan lebih lanjut agar lebih kompleks dan menarik dengan cara berikut ini:
1. Tambahkan buzzer yang berbunyi saat LED merah menyala, mensimulasikan suara klakson peringatan.
2. Tambahkan tombol tekan untuk mengubah urutan nyala LED secara manual, mensimulasikan tombol pejalan kaki pada lampu lalu lintas.
3. Tambahkan sensor cahaya untuk mendeteksi kondisi lingkungan dan menyesuaikan nyala LED sesuai dengan siang atau malam hari.
Contoh Kode dengan Tombol Tekan
const int ledMerah = 8;
const int ledKuning = 9;
const int ledHijau = 10;
const int tombol = 7;
void setup() {
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
pinMode(tombol, INPUT);
}
void loop() {
if (digitalRead(tombol) == HIGH) {
// Menyalakan LED hijau selama 5 detik
digitalWrite(ledHijau, HIGH);
delay(5000);
digitalWrite(ledHijau, LOW);
// Menyalakan LED kuning selama 2 detik
digitalWrite(ledKuning, HIGH);
delay(2000);
digitalWrite(ledKuning, LOW);
// Menyalakan LED merah selama 5 detik
digitalWrite(ledMerah, HIGH);
delay(5000);
digitalWrite(ledMerah, LOW);
}
}
Penjelasan Kode dengan Tombol Tekan
• `const int tombol = 7;` untuk menentukan pin untuk tombol tekan.• `pinMode(tombol, INPUT);` untuk mengatur pin tombol sebagai input.
• `if (digitalRead(tombol) == HIGH)` untuk mengecek apakah tombol ditekan.
• Jika tombol ditekan, maka urutan nyala LED akan dijalankan.
Jadi, membuat lampu lalu lintas mini menggunakan Arduino adalah proyek edukatif untuk anak-anak. agar dapat belajar tentang dasar-dasar elektronik, pemrograman dan logika kontrol. Proyek ini juga dapat dikembangkan lebih lanjut agar lebih interaktif dan kompleks.
Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?
Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!
0 on: "Tutorial Arduino untuk Anak-anak: Membuat Lampu Lalu Lintas Mini"