Lampu lalu lintas / traffic light merupakan lampu yang sering kita jumpai di persimpangan jalan. Tujuan lampu ini jelas untuk mengatur lalu lintas. Dari arah mana yang harus jalan duluan, lampu inilah yang mengatur, sehingga terlihat lampu lalu lintas seperti mempunyai suatu ''otak'' tersendiri.
Namun pernahkan teman-teman penasaran bagaimana lampu lalu lintas berkerja?
Prinsip kerja lampu lalu lintas sendiri sebenarnya hanya seperti running led, namun yang ini lebih komplek dan perlu pengaturan waktu juga, berapa lama merah hidup, kuning hidup dan hijau hidup.
Untuk membuat pengaturan waktu tersebut, kita dapat dengan mudah menggunakan Arduino Uno yang berbasis Micro-controller AT-Mega 328P atau yang dapat memuat memori sekitar 2Kbytes.
Bagaimana cara membuatnya ?
Siapkan peralatan yang di butuhkan:
1. Arduino Uno ( sudah ada micro-controller nya )
2. Laptop/komputer dengan sudah terpasang software arduino
3. 3 led merah, 3 led hijau, 3 led kuning.
4. Breadboard
5. 7 helai kabel jumper male-male
Untuk membuat programnya, cukup dengan bermain delay saja :
//traffic light by nabawielectronics;
//pertama kita membuat deklarasi untuk mempermudah pemrograman;
int uh = 1; //uh = utara hijau;
int uk = 2;
int um = 3;
int th = 4;
int tk = 5; //tk = timur kuning;
int tm = 6;
int sh = 7;
int sk = 8;
int sm = 9; //sm = selatan merah;
void setup() {
//kemudian kita membuat pengaturan output;
pinMode(uh, OUTPUT);
pinMode(uk, OUTPUT);
pinMode(um, OUTPUT);
pinMode(th, OUTPUT);
pinMode(tk, OUTPUT);
pinMode(tm, OUTPUT);
pinMode(sh, OUTPUT);
pinMode(sk, OUTPUT);
pinMode(sm, OUTPUT);
digitalWrite(um, HIGH);
digitalWrite(tm, HIGH);
digitalWrite(sm, HIGH);
delay(3000);
}
void loop() {
//utara jalan;
digitalWrite(uk, HIGH);
delay(2000);
digitalWrite(uh, HIGH);
digitalWrite(um, LOW);
digitalWrite(uk, LOW);
delay(10000);
//utara hati-hati kemudian berhenti;
digitalWrite(uk, HIGH);
digitalWrite(uh, LOW);
delay(2000);
digitalWrite(um, HIGH);
digitalWrite(uk, LOW);
//--;
//timur jalan;
digitalWrite(tk, HIGH);
delay(2000);
digitalWrite(th, HIGH);
digitalWrite(tm, LOW);
digitalWrite(tk, LOW);
delay(10000);
//timur hati-hati kemudian berhenti;
digitalWrite(tk, HIGH);
digitalWrite(th, LOW);
delay(2000);
digitalWrite(tm, HIGH);
digitalWrite(tk, LOW);
//--;
//selatan jalan;
digitalWrite(sk, HIGH);
delay(2000);
digitalWrite(sh, HIGH);
digitalWrite(sm, LOW);
digitalWrite(sk, LOW);
delay(10000);
//selatan hati-hati kemudian berhenti;
digitalWrite(sk, HIGH);
digitalWrite(sh, LOW);
delay(2000);
digitalWrite(sm, HIGH);
digitalWrite(sk, LOW);
//--;
}
Petunjuk penggunaan ini untuk membuat lampu lalulintas 3 arah. Namun sebetulnya dapat juga untuk empat arah. Untuk percobaan 4 arah silakan otak atik sendiri ya :D sembari belajar.
Berikut adalah contoh rangkaian bangjo tersebut :
Sekian yang dapat saya berikan, jika ada kekeliruan saya mohon maaf, semoga bermanfaat.
Jika ada kritik / saran yang membangun silakan layangkan dalam komentar, :)
Terimakasih.