Traficlight seperti kita ketahui digunakan untuk mengatur lalu lintas pada persimpangan jalan baik pertigaan atau perempatan bahkan simpang lima. Traficlight digunakan untuk menggantikan tugas pak polisi supaya kerjanya lebih ringan dan he he he tinggal tilang aja klo ada yang gak nurut.. cukup sekian basa basinya langsung saja ke konfigurasi hardwarenya. trafic ini terdiri dari tiga buah komponen utama yaitu:
1. Controler
2. Counter display 7 segment
3. Led merah, kuning dan hijau
Controler pada trafic ini menggunakan atmega16
Counter display menggunakan 7 segment dengan shift register sebagai perantara pengiriman data dari controler
Led merah, kuning dan hijau digunakan mengatur lalulintas merah artinya stop, hijau artinya jalan dan kuning artinya jalan ngebut (keburu lampu merahnya nyala)
untuk lebih jelasnya bisa download simulasinya (proteus)
disiniPada prinsipnya kerja traficlight adalah menyalakan lampu hijau dan lampu kuning secara bergantian, misalnya pada trafic light 4 jalur ini. Pada traficlight ini nyala lampu hijau dan kuning dibuat sama untuk 4 jalurnya yaitu 8 detik untuk lampu hijau dan 2 detik untuk lampu kuning jadi totalnya adalah 11 detik. sedangkan untuk nyala lampu merahnya adalah 3 kali lipat nyala lampu hijau + Kuning, jadi untuk nyala lampu merahnya adalah 11+11+11 = 35. lho kog 35 bukannya 33? eit jangan salah dalam trafic light counter downnya menghitung atau mencacah sampai angka nol (0) bukan 1 untuk lebih jelasnya berikut adalah timeline nya
keterangan
garis hijau = lama nyala lampu hijau
garis kuning = lama nyala lampu kuning
garis merah = lama nyala lampu merah
setelah mengetahui konsepnya maka dapat langsung diimplementasikan pada programnya. disini bahasa pemrogramannya menggunakan Bascomavr. Berikut merupakan inti dari program traficlight diatas:
program utamaDoGosub Tampil1Gosub Tampil2
Gosub Tampil3
Gosub Tampil4
Gosub Trafic1Gosub Trafic2
Gosub Trafic3Gosub Trafic4Decr Sat1Decr Sat2Decr Sat3Decr Sat4LoopSub program ini berfungsi untuk memanggil sub program tampil dan sub program trafic dan juga digunakan untuk men- decrement- menurunkan nila variabel sat.
Sub program tampilTampil1:
Reset Oe1Kodesat1 = Lookup(sat1 , Kode)
Kodepul1 = Lookup(pul1 , Kode)Shiftout Data1 , Clock1 , Kodesat1 , 1
Shiftout Data1 , Clock1 , Kodepul1 , 1Waitms 200 Set Oe1
Return Sub program tersebut digunakan untuk menampilkan data data pada tabel lookup (yang berisi data nilai 0 sampai 9) ke seven segment melalui shift register. berikut merupakan tabel lookup nya:
Kode:Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90
Sub program trafic
Trafic1:'lampu
If A1 = 0 And B1 = 0 Then
Merah1 = 0 Kuning1 = 0
Hijau1 = 1 End IfIf A1 = 0 And B1 = 1 Then Merah1 = 1
Kuning1 = 0
Hijau1 = 0
End If
If A1 = 1 And B1 = 0 Then
Merah1 = 0
Kuning1 = 1 Hijau1 = 0
End If
'counter
If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 0 And Flagkuning1 = 0 Then Sat1 = 3
Pul1 = 0 Flaghijau1 = 1
A1 = 1
B1 = 0 End If
If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 1 And Flagkuning1 = 0 Then Sat1 = 6
Pul1 = 3
Flagkuning1 = 1 A1 = 0
B1 = 1 End IfIf Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 1 And Flagkuning1 = 1 Then
A1 = 0
B1 = 0 Flaghijau1 = 0
Flagkuning1 = 0
End If
If Sat1 = 0 And Pul1 = 3 Then
Decr Pul1 Sat1 = 10
End IfIf Sat1 = 0 And Pul1 = 2 Then
Decr Pul1 Sat1 = 10
End If
If Sat1 = 0 And Pul1 = 1 Then
Decr Pul1 Sat1 = 10
End IfReturnSub program ini mempunyai 2 fungsi yaitu: Untuk menyalakan lampu merah, hijau dan kuning, dan untuk mengatur counter down (dengan perintah if...then) supaya bisa mencacah sesuai dengan angka angka pada timeline yang telah ditentukan.
Untuk lebih jelas nya program bisa didownload
disini. download:simulator klik
disiniprogram klik
disiniwasalam