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) disini
Pada 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 utama
Do
Gosub Tampil1
Gosub Tampil2
Gosub Tampil3
Gosub Tampil4
Gosub Trafic1
Gosub Trafic2
Gosub Trafic3
Gosub Trafic4
Decr Sat1
Decr Sat2
Decr Sat3
Decr Sat4
Loop
Sub program ini berfungsi untuk memanggil sub program tampil dan sub program trafic dan juga digunakan untuk men- decrement- menurunkan nila variabel sat.
Sub program tampil
Tampil1:
Reset Oe1
Kodesat1 = Lookup(sat1 , Kode)
Kodepul1 = Lookup(pul1 , Kode)
Shiftout Data1 , Clock1 , Kodesat1 , 1
Shiftout Data1 , Clock1 , Kodepul1 , 1
Waitms 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 If
If 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 If
If 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 If
If Sat1 = 0 And Pul1 = 2 Then
Decr Pul1
Sat1 = 10
End If
If Sat1 = 0 And Pul1 = 1 Then
Decr Pul1
Sat1 = 10
End If
Return
Sub 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.
Untuk lebih jelas nya program bisa didownload disini.
download:
simulator klik disini
program klik disini
wasalam
masih....... moga bermanfaaat ya... kbtulan ane lagi buat untuk TA, mohon izin Donlot yaaaaaa
BalasHapusKlo programnya pake apa ya?????
BalasHapusknapa masih ada error ya...........???? tolong dooooonx's....
BalasHapusMaaf, errornya disebelah mana ?
BalasHapusprogramnya pake BASCOMAVR
BalasHapusprogram yang pake bahasa c ada gak? kalo ada tolong email ke niamaulida89@gmail.com soalnya biasa pake cv avr nich... mohon pencerahannya
BalasHapusAda yang bahasa C apa gak gan?
BalasHapusMungkin kalau pake bahasa C lebih gampang ya gan..??
BalasHapusAda yg pake bahasa C gak?? pasti lebih gampang
BalasHapustlng kasi keterangan si, hasil yang di tampilkan di seven segmen pada kode ini : &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90
BalasHapuskalo bisa sama cara menghitungnya..