Dalam dunia teknologi dan elektronika, Arduino menjadi salah satu platform yang paling banyak digunakan untuk membuat berbagai macam proyek, termasuk simulasi lampu lalu lintas. Arduino adalah platform elektronik open-source yang berbasis pada perangkat keras dan perangkat lunak yang mudah digunakan. Arduino dapat menerima berbagai input dari berbagai sensor dan dapat mengontrol lampu, motor, dan berbagai aktuator lainnya.
Konsep Dasar Simulasi Lampu Lalu Lintas
Simulasi lampu lalu lintas adalah proyek yang baik untuk pemula karena melibatkan konsep-konsep dasar elektronika dan pemrograman. Proyek ini biasanya menggunakan LED sebagai pengganti lampu lalu lintas dan Arduino sebagai otak dari sistem untuk mengontrol perubahan warna lampu dari merah, kuning, ke hijau dan sebaliknya.
Komponen yang Dibutuhkan
Untuk membuat simulasi lampu lalu lintas dengan Arduino, Anda akan membutuhkan beberapa komponen berikut:
- Papan Arduino (Uno, Nano, atau model lainnya)
- LED (merah, kuning, hijau)
- Resistor (220 ohm atau sesuai kebutuhan)
- Breadboard
- Kabel jumper
Berikut adalah warna dari tiap PIN, Green (Hijau), Yellow (Kuning), Red (Merah). Namun demikian sebaiknya tetap dicheck apakah sesuai atau tidak. Bisa dengan mencoba satu per satu dengan aplikasi, atau dengan menyambungkan sebentar pin tersebut ke dc (hati-hati rusak), atau secara program (dengan hanya menyalakan satu lampu saja tanpa ada pergantian.
Berikut di bawah adalah code C++ yang kami gunakan dengan visual code dengan extenssion Platform IO (IDE untuk iot), jika anda menggunakan arduio IDE, maka bari9 #include <Arduino.h> dapat dicomment / dihapus.
main.cpp
// Simulasi Lampu Lalu Lintas
// Dengan menggunakan 3 buah LED
// LED 1 (pin 5) = Warna 1
// LED 2 (pin 6) = Warna 2
// LED 3 (pin 7) = Warna 3
//
// Oleh: AnakBisa.com
// Versi: 1.0
#include <Arduino.h>
#define LED_PIN_5 5
#define LED_PIN_6 6
#define LED_PIN_7 7
void setup() {
// inisialisasi pin LED sebagai output
pinMode(LED_PIN_5, OUTPUT);
pinMode(LED_PIN_6, OUTPUT);
pinMode(LED_PIN_7, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN_5, HIGH); // menghidupkan LED
delay(1000); // menunggu satu detik
digitalWrite(LED_PIN_5, LOW); // mematikan LED
digitalWrite(LED_PIN_6, HIGH);
delay(1000);
digitalWrite(LED_PIN_6, LOW);
digitalWrite(LED_PIN_7, HIGH); // menghidupkan LED
delay(1000); // menunggu satu detik
digitalWrite(LED_PIN_7, LOW); // mematikan LED
}
platformio.ini
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino
Beberapa ide pengembangan yang bisa dilakukan:
- Ubah agar warna kuning hanya sebentar menyala. Sedangkan Merah dan Hijau lebih lama menyala.
- Bisa saja, urutan lampu yang digunakan adalah Hijau –> Kuning –> Merah. Tapi sedangkan dari Merah ke Hijau, langsung: Merah –> Hijau.
- Bagaimana jika ditambah button di rangkaian tersebut. Yang akan mengubah waktu sehingga menjadi merah (asumsi, ada tombol yang biasa di bawah tiang tempat penyeberangan yang dapat ditekan oleh orang yang mau menyeberang).
- Bagaimana jika menggunakan 2 lampu lalu lintas? Misalnya saling bersilang (sederhana), jadi jika si x merah, si y hijau.
- Untuk yang lebih sulit, bisa gunakan simulasi yang lebih mirip, misalnya jika dilihat dari si x lampu masih hijau, lalu kuning, lalu merah. sebelum lampu lalu lintas yang dilihat si y jadi hijau diberikan jeda cukup lama. Untuk menghindari tabrakan.
- Bagaimana jika menggunakan koneksi ke internet, sehingga kita bisa menginterupsi lampu-lampu tersebut. Misalnya kita melihat kemacetan di suatu arah.
- Bagaimana jika lebih dari 2 lampu lalu lintas? dan modelnya bisa berbeda-beda? Bagaimana jika pin yang dapat digunakan habis?
- Bagaimana jika ada model untuk penyeberang jalan, di mana sebelum lampu untuk mobil menjadi hijau, sudah ada tanda-tanda agar penyeberang segera menyelesaikan penyeberangan atau malah jangan menyeberang kalau ngga keburu. Kalau perlu pakai bunyi.
Jika teman-teman ada ide lain / masukan, silahkan tulis di kolom komentar.
catatan, pada video di atas… urutan nyala lampu dibalik pada detik ke 20, jadi Hijau –> Kuning –> Merah.
Dan apakah semua lampu lalu lintas yang ada di Indonesia itu Hijaunya di bawah? atau kadang Hijau juga ada yang di atas? Bagaimana kalau lampu yang horisontal? apakah merah sebelah kiri? dan bagi teman-teman yang penyandang kesulitan melihat warna (buta warna), apakah bisa melihat lampu tersebut?