ANGGI WIRANATA NIM. 20120023 Traffic light atau banyak juga yang menyebutnya lampu merah, merupakan rangkaian lampu yang digunakan untuk mengatur lalu lintas kendaraan pada suatu persimpangan agar lancar dan tidak terjadi kecelakaan. Pengontrolan sistem penyalaan pada rangkaian traffic light dapat dilakukan dengan menggunakan Arduino. Dalam merangkai suatu rangkaian traffic light, kali ini akan dipaparkan pembuatan simulasi traffic light pada suatu perempatan jalan (simpang empat).
Bahan yang dibutuhkan antara lain:
1. Arduino Uno Board = 1 buah 2. LED Merah = 4 buah 3. LED Kuning = 4 buah 4. LED Hijau = 4 buah 5. Resistor 220 ohm = 12 buah 6. Kabel Pada rangkaian di atas, angka 1 hingga 12 dihubungkan ke Pin Digital pada Arduino Uno. Pin Digital 0 dan 13 tidak digunakan. Rangkaian lampu di atas adalah aktif HIGH, yaitu lampu akan menyala jika diberi tegangan HIGH. Sebaliknya jika ingin mematikan lampu, maka pin harus diberi tegangan LOW. Pada pembuatan simulasi rangkaian traffic light ini, waktu tunggu yang digunakan sebagai berikut: - Lampu Hijau menyala selama 9 detik - Lampu Kuning menyala selama 3 detik Sebelum pembuatan program, terlebih dahulu dibuat flow chart (diagram alir) dari rangkaian traffic light. Pada kesempatan ini, dicontohkan pembuatan flow chart seperti pada gambar di bawah. CODING RANGKAIAN TRAFFIC LIGHT 4 JALUR 1 int r1 = 1; // lampu merah jalur barat 2 int y1 = 2; // lampu kuning jalur barat 3 int g1 = 3; // lampu hijau jalur barat 4 int r2 = 4; // lampu merah jalur utara 5 int y2 = 5; // lampu kuning jalur utara 6 int g2 = 6; // lampu hijau jalur utara 7 int r3 = 7; // lampu merah jalur timur 8 int y3 = 8; // lampu kuning jalur timur 9 int g3 = 9; // lampu hijau jalur timur 10 int r4 = 10; // lampu merah jalur selatan 11 int y4 = 11; // lampu kuning jalur selatan 12 int g4 = 12; // lampu hijau jalur selatan 13 14 void setup() { 15 pinMode (r1, OUTPUT); 16 pinMode (y1, OUTPUT); 17 pinMode (g1, OUTPUT); 18 pinMode (r2, OUTPUT); 19 pinMode (y2, OUTPUT); 20 pinMode (g2, OUTPUT); 21 pinMode (r3, OUTPUT); 22 pinMode (y3, OUTPUT); 23 pinMode (g3, OUTPUT); 24 pinMode (r4, OUTPUT); 25 pinMode (y4, OUTPUT); 26 pinMode (g4, OUTPUT); 27 28 } 29 void loop() { 30 31 digitalWrite(g1, HIGH); 32 digitalWrite(r2, HIGH); 33 digitalWrite(r3, HIGH); 34 digitalWrite(r4, HIGH); 35 delay(9000); 36 digitalWrite(g1, LOW); 37 digitalWrite(r2, LOW); 38 digitalWrite(y1, HIGH); 39 digitalWrite(y2, HIGH); 40 delay(3000); 41 digitalWrite(y1, LOW); 42 digitalWrite(y2, LOW); 43 digitalWrite(r1, HIGH); 44 digitalWrite(g2, HIGH); 45 delay(9000); 46 digitalWrite(g2, LOW); 47 digitalWrite(r3, LOW); 48 49 digitalWrite(y2, HIGH); 50 digitalWrite(y3, HIGH); 51 delay(3000); 52 digitalWrite(y2, LOW); 53 digitalWrite(y3, LOW); 54 55 digitalWrite(r2, HIGH); 56 digitalWrite(g3, HIGH); 57 digitalWrite(r4, HIGH); 58 delay(9000); 59 digitalWrite(g3, LOW); 60 digitalWrite(r4, LOW); 61 62 digitalWrite(y3, HIGH); 63 digitalWrite(y4, HIGH); 64 delay(3000); 65 digitalWrite(y3, LOW); 66 digitalWrite(y4, LOW); 67 digitalWrite(r3, HIGH); 68 digitalWrite(g4, HIGH); 69 delay(9000); 70 digitalWrite(r3, LOW); 71 digitalWrite(g4, LOW); 72 digitalWrite(r1, LOW); 73 digitalWrite(y1, HIGH); 74 digitalWrite(y4, HIGH); 75 delay(3000); 76 digitalWrite(y1, LOW); 77 digitalWrite(y4, LOW); 78 79 } 80