traffic light
TRANSCRIPT
Tugas Akhir Mata KuliahArsitektur dan Organisasi Komputer
Simulasi Traffic Light dengan MenggunakanSensor Infrared sebagai Pendeteksi Antrian
Dosen Pembimbing :
Drs. Dahlan Sitompul, M.Eng
Disusun Oleh :
Kelompok : NESA
Yoga Nugraha W. 071401051
Deli Utari 071401035
Sovi Khadifa 071401041
Fitri Rahayu 071401007
Harris Kristanto 071401033
Febrianto Prima 071401027
Departemen Ilmu Komputer
Fakultas Matematika Dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara
2008
Pendahuluan
Pada umumnya sistem pengaturan lampu lalu lintas yang selama ini dipergunakan
adalah dengan melakukan pengaturan hanya berdasarkan waktu tetap. Oleh karena tingkat
kepadatan pada persimpangan jalan tidak selalu sama, maka tentu saja tingkat kemacetan
pada persimpangan jalan tidak dapat dikendalikan dengan baik. Sistem kendali adaptif
melakukan pengaturan berdasarkan pada tingkat kepadatan kendaraan yang melewati
jalan tersebut, dimana sistem pengaturannya tidak konstan dan akan mengikuti perubahan
tingkat kepadatan kendaraan pada persimpangan jalan. Panjangnya antrian pada
persimpangan jalan menunjukkan tingkat kepadatan kendaraan.
Khususnya di persimpangan jalan. Selama ini sistem pengaturan lampu lalu lintas
menggunakan pengaturan yang hanya berdasarkan pada waktu tetap tanpa memperhatikan
tingkat kepadatan lalu lintas. Tentunya dengan cara ini tingkat kemacetan tidak dapat
dikendalikan dengan baik karena tingkat kepadatan pada persimpangan jalan tidak selalu
sama. Maka dibutuhkan sistem pengaturan yang tidak konstan dan mengikuti perubahan
tingkat kepadatan kendaraan pada persimpangan jalan.
Tujuan
Tujuan dari percobaan ini adalah untuk merancang dan mengimplementasikan
kendali adaptif pada sistem pengaturan lampu lalu lintas dengan menggunakan sensor,
sehingga sistem pengendalian lampu lalu lintas sesuai dengan tingkat kepadatan
kendaraan yang dideteksi oleh sensor pada setiap persimpangan jalan.
Sistem pengaturan lalu lintas yang dirancang dipergunakan pada persimpangan
empat dengan empat periode yang berbeda, dan sensor inframerah akan mendeteksi
tingkat kepadatan lalu lintas sesuai dengan panjang antrian kendaraan pada setiap
persimpangan jalan. Sedangkan program yang dirancang merupakan program yang
disimpan pada komputer dan akan bekerja secara kontinyu. Dengan menggunakan kendali
adaptif maka diharapkan waktu mengemudi akan menjadi lebih efisien dan kemacetan
dapat teratasi.
Prinsip Kerja Traffic Light
Sensor inframerah dipasang pada setiap persimpangan dengan jarak beberapa
meter untuk mendeteksi panjang antrian kendaraan pada persimpangan jalan tersebut.
Dapat dilihat proses pengaturan yang dilakukan berdasarkan pada panjangnya antrian
kendaraan yang menunjukkan tingkat kepadatan kendaraan pada persimpangan jalan. Jika
tingkat kepadatan kendaraan pada persimpangan jalan adalah padat, maka lampu hijau
akan menyala.
Proses pendeteksian kendaraan mulai dilakukan pada saat lampu lalu lintas
berwarna merah dan akan berakhir hingga lampu lalu lintas pada persimpangan tersebut
berwarna hijau. Setelah proses pendeteksian pada persimpangan tersebut berakhir, maka
proses akan beralih pada persimpangan yang lain.
Pada Simulasi ini telah ditetapkan panjang antrian kendaraan maksimum dari
persimpangan (kondisi padat).
Simulasi ini menggunakan dua buah sensor yang ditempatkan pada setiap jalur
dan digunakan untuk mendeteksi panjangnya antrian kendaraan.
Hanya ada satu persimpangan yang akan menyala hijau yaitu pada saat simpang
tersebut terhalang.
Blok Diagram Sistem
Sensor inframerah akan mendeteksi panjangnya antrian kendaraan.yang terdapat
pada persimpangan jalan dan kemudian akan dikirimkan informasi ini ke PC. Kemudian
PC akan melakukan pengaturan lampu lalu lintas sesuai dengan program yang telah
disimpan sebelumnya. Sebagai contoh jika panjangnya antrian kendaraan pada
persimpangan sangat panjang, maka lampu hijau pada simpang akan menyala.
Diagram Alir
Program yang dirancang dipergunakan untuk mengendalikan lampu lalu lintas
dengan memperhatikan jumlah input serta program akan berjalan terus-menerus dan tidak
akan pernah berhenti selama dipergunakan pada pengaturan lampu lalu lintas.
N1 : Kondisi 1, Kedua sensor tidak terhalang
N2 : Kondisi 2, Sensor 1 terhalang (simpang-1 pada kondisi padat).
N3 : Kondisi 3, Sensor 2 terhalang (simpang-2 pada kondisi padat).
N4 : Kondisi 4, Kedua sensor terhalang (simpang-1 dan simpang-2 pada kondisi
padat).
P-1 : Proses 1, Lampu tetap pada kondisi normal.
P-2 : Lampu pada simpang 1 akan menyala hijau, lampu pada simpang 2 akan
menyala merah.
P-3 : Lampu pada simpang 2 akan menyala, lampu pada simpang 1 akan menyala
merah.
P-4 : Tidak Ada Proses.
Perangkat Keras
1. Inframerah dan LED
Sensor inframerah merupakan salah satu sensor fotoelektrik. Sensor fotoelektrik
adalah suatu peralatan elektronik yang bereaksi atas suatu perubahan intensitas cahaya
yang menimpanya.
Sensor inframerah dipergunakan untuk mendeteksi panjang antrian kendaraan
pada persimpangan jalan. Beberapa sensor inframerah ditempatkan pada setiap
persimpangan jalan dan proses pendeteksian kendaraan dilakukan yaitu jika ada
kendaraan yang menghalangi sinar yang dipancarkan sumber. Penggunaan sensor ini
memiliki beberapa keuntungan yaitu mudah diperoleh dipasaran dan juga memiliki harga
yang relatif lebih murah jika dibandingkan dengan penggunaan sensor jenis lain.
2. Dioda Foto
Dioda foto mempunyai sifat yang berkebalikan dengan LED ialah akan
menghasilkan arus listrik bila terkena cahaya. Besarnya arus listrik tergantung dari
besarnya cahaya yang masuk.
3. Dioda
Dioda adalah komponen semiconductor yang paling sederhana, ia terdiri atas dua
elektroda yaitu katoda dan anoda. Dioda digunakan sebagai penyearah arus.
4. Transistor
Pada prinsipnya, suatu transistor terdiri atas dua buah dioda yang disatukan. Agar
transistor dapat bekerja, kepada kakikakinya harus diberikan tegangan, tegangan ini
dinamakan bias voltage. Basisemitor diberikan forward voltage, sedangkan basiskolektor
diberikan reverse voltage. Sifat transistor adalah bahwa antara kolektor dan emitor akan
ada arus (transistor akan menghantar) bila ada arus basis. Makin besar arus basis makin
besar penghatarannya.
5. Resistor
Resistor yaitu komponen elektronika yang berfungsi sebagai tahanan atau
hambatan listrik.
6. Trafo
\
Transformator adalah dua buah kumparan yang dililitkan ada satu inti, inti bisa inti
besi atau inti ferrite. Ia dapat meneruskan arus listrik AC dan tidak dapat untuk digunakan
pada DC. Kumparan pertama disebut primer ialah kumparan yang menerima input,
kumparan kedua disebut sekunder ialah kumparan yang menghasilkan output. Dalam
percobaan ini digunakan sebagai penurun tegangan (Step Down).
7. Amplifier LM7805
IC LM7805 adalah IC yang digunakan sebagai voltage regulator dimana tegangan
outputnya adalah 5 volt.
8. Kapasitor (ELCO)
Kapasitor dapat menyimpan muatan listrik, dapat meneruskan tegangan bolak balik
(AC) akan tetapi menahan tegangan DC, besaran ukuran kekuatannya dinyatakan dalam
FARAD (F).
LM78
05
Kapasitor (ELCO)
to PC
Skema Rangkaian Sensor
Trafo
D1
BRIDGE
C
1000
IN
COM
OUT
U178L05
R11k
R21k
R31k
R43.3k
Q1NPN
D2
LED0
R51k
D3
D4LED1
Rangkaian Traffic Light
Source Code Program
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type TForm1 = class(TForm) Timer1: TTimer; Button1: TButton; Shape1: TShape; Shape2: TShape; Edit1: TEdit; Button2: TButton; GroupBox1: TGroupBox; Label1: TLabel; Shape3: TShape; Shape4: TShape; Shape5: TShape; M: TShape; K: TShape; H: TShape; H1: TShape; K1: TShape; M1: TShape; Timer2: TTimer;
s1: TShape; Shape14: TShape; s2: TShape; Label3: TLabel; Label4: TLabel; Label5: TLabel; Panel1: TPanel; Shape11: TShape; Shape12: TShape; Shape13: TShape; Shape15: TShape; Shape17: TShape; Shape18: TShape; Shape19: TShape; Shape20: TShape; Shape6: TShape; Shape7: TShape; Shape10: TShape; Shape21: TShape; Shape22: TShape; Shape23: TShape; Shape24: TShape; Shape25: TShape; Shape26: TShape; Shape27: TShape; Shape28: TShape; Shape9: TShape; Shape29: TShape; Shape30: TShape; Shape34: TShape; Shape36: TShape; Shape43: TShape; Shape8: TShape; Shape31: TShape; Shape32: TShape; Shape33: TShape; Shape35: TShape; Shape37: TShape; Shape38: TShape; Shape39: TShape; Shape40: TShape; Shape41: TShape; Label6: TLabel; Label7: TLabel; Label8: TLabel; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private declarations } public { Public declarations } procedure simpang(A:integer);
procedure sensor1; procedure sensor2; procedure sensor1_2; procedure sensor2_1; procedure kng; procedure kng1; procedure hj; procedure hj1; procedure mrh; procedure resetlampu; end;
var Form1: TForm1; x1,x2:integer;
implementation
{$R *.dfm}
function Out32(wAddr:word;bOut:byte):byte; stdcall; external 'inpout32.dll';function Inp32(wAddr:word):byte; stdcall; external 'inpout32.dll';
{ Procedure Form Create____________________________________________}
procedure TForm1.FormCreate(Sender: TObject);begin Timer1.Enabled:=false; x1:=0; x1:=0;end;
{ >> Timer1_____________________________________________}
procedure TForm1.Timer1Timer(Sender: TObject);beginif inp32($379)=255 then begin Label5.Caption:='ON'; Label8.Caption:='OFF'; sensor1; x1:=x1+1; x2:=0; endelse if inp32($379)=63 then begin Label8.Caption:='ON'; Label5.Caption:='OFF'; sensor2; x2:=x2+1; x1:=0;
endelse if (inp32($379)=127)and(x1<5)and(x2<5) then begin Label5.Caption:='ON'; Label8.Caption:='ON'; sensor1_2; x1:=x1+1; x2:=x2+1; endelse if inp32($379)=191 then begin Label5.Caption:='OFF'; Label8.Caption:='OFF'; sensor2_1; x1:=0; x2:=0; end;
if (x1=5)and(x2=5) and((inp32($378)=33)or(inp32($378)=18)or(inp32($378)=3))then begin x1:=0;x2:=0; Timer1.Enabled:=false; simpang(3); endelse if (x1=5)and((inp32($378)=33)or(inp32($378)=3)) then begin x1:=0; x2:=0; Timer1.Enabled:=false; simpang(1); endelse if (x2=5)and((inp32($378)=18) or (inp32($378)=3))then begin Timer1.Enabled:=false; x1:=0; x2:=0; simpang(2); end;end;
{ >> Procedure Algoritma simpang____________________________________}
procedure TForm1.simpang(A:integer);var z:integer;begin z:=0; case A of 1:begin kng; while (z<=3) do begin z:=z+1; sleep(1000); end; hj;
end; 2:begin kng1; while (z<=3) do begin z:=z+1; sleep(1000); end; hj1; end; 3:begin if (inp32($379)=255)or(inp32($378)=18) then begin kng1; while (z<=3) do begin z:=z+1; sleep(1000); end; hj1; end else if (inp32($379)=63)or((inp32($378)=33)or(inp32($378)=3)) then begin kng; while (z<=3) do begin z:=z+1; sleep(1000); end; hj; end; end; end; Timer1.Enabled:=true;end;
{ >> Button_______________________________________________}
procedure TForm1.Button1Click(Sender: TObject);begin if Button1.Caption='Start' then begin mrh; Button1.Caption:='Stop'; Timer1.Enabled:=true; end else if Button1.Caption='Stop' then begin resetlampu; sensor2_1; Button1.Caption:='Start'; Label5.Caption:=''; Label8.Caption:=''; Timer1.Enabled:=false;
out32($378,0); end;end;
procedure TForm1.Button2Click(Sender: TObject);beginapplication.Terminate;end;
{ >> Sensor_______________________________________________}
procedure TForm1.Timer2Timer(Sender: TObject); begin Edit1.text:=inttostr(inp32($379)); end;
procedure TForm1.sensor1; begin s1.Brush.Color := clyellow; s2.Brush.Color := clsilver; end;
procedure TForm1.sensor2; begin s1.Brush.Color := clsilver; s2.Brush.Color := clyellow; end;
procedure TForm1.sensor1_2; begin s1.Brush.Color := clyellow; s2.Brush.Color := clyellow; end;
procedure TForm1.sensor2_1; begin s1.Brush.Color := clsilver; s2.Brush.Color := clsilver; end;
{ >> Procedure Lampu___________________________________}
procedure TForm1.mrh;begin out32($378,3); H.Brush.Color:=clwhite; K.Brush.Color:=clwhite; M.Brush.Color:=clred; H1.Brush.Color:=clwhite; K1.Brush.Color:=clwhite; M1.Brush.Color:=clred;end;
procedure TForm1.kng;
begin out32($378,9); H.Brush.Color:=clwhite; K.Brush.Color:=clwhite; M.Brush.Color:=clred; H1.Brush.Color:=clwhite; K1.Brush.Color:=clYellow; M1.Brush.Color:=clwhite;end;
procedure TForm1.kng1;begin out32($378,6); H.Brush.Color:=clwhite; K.Brush.Color:=clYellow; M.Brush.Color:=clwhite; H1.Brush.Color:=clwhite; K1.Brush.Color:=clwhite; M1.Brush.Color:=clred;end;
procedure TForm1.hj;begin Timer1.Enabled:=true; out32($378,18); H.Brush.Color:=cllime; K.Brush.Color:=clwhite; M.Brush.Color:=clwhite; H1.Brush.Color:=clwhite; K1.Brush.Color:=clwhite; M1.Brush.Color:=clred;end;
procedure TForm1.hj1;begin Timer1.Enabled:=true; out32($378,33); H.Brush.Color:=clwhite; K.Brush.Color:=clwhite; M.Brush.Color:=clred; H1.Brush.Color:=cllime; K1.Brush.Color:=clwhite; M1.Brush.Color:=clwhite;end;
procedure TForm1.resetlampu;begin H.Brush.Color:=clwhite; K.Brush.Color:=clwhite; M.Brush.Color:=clwhite; H1.Brush.Color:=clwhite; K1.Brush.Color:=clwhite; M1.Brush.Color:=clwhite;end;
end.
Kesimpulan
Dari hasil perancangan dan uji coba sistem yang dibuat, Pengunaan sensor dapat
memenuhi tujuan sistem pengaturan lalu lintas secara optimal, yaitu dengan melakukan
pengaturan berdasarkan panjangnya antrian kendaraan yang dideteksi oleh sensor pada
persimpangan jalan. Sistem ini dapat digunakan pada kondisi persimpangan jalan yang
berbeda dengan dilakukan beberapa penyesuaian pada program.
Proses pendeteksian kendaraan yang dilakukan harus menggunakan beberapa
sensor inframerah dan sensor inframerah yang dipergunakan tidak mempunyai
kemampuan untuk membedakan antara kendaraan dengan benda lain, sehingga sensor
harus diletakkan pada tempat yang tepat. Untuk pengembangan sistem ke depan, maka
dapat dilakukan beberapa modifikasi pada system sehingga dapat bekerja lebih baik.
Sebagai contoh, yaitu dengan menggunakan PLC yang dapat dihubungkan secara
langsung dengan kamera dan internet.