Anda di halaman 1dari 24

INTEGRASI TRAFFIC LIGHT DENGAN PALANG PINTU

KERETA API di JALAN BUDURAN


(pintu masuk LINGKAR TIMUR)
BERBASIS MIKROKONTROLER

OLEH:

M Yazid Al Bastomy
2 D3 ELIN B
(1303131053)

DOSEN:
EPYK SUNARNO ,ST, MT

TEKNIK ELEKTRO INDUSTRI


POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
2014 2015

I.ABSTRAK
Lampu lalu lintas atau sering disebut dengan Traffic Light sangat berperan
penting dalam pengaturan lalu lintas yang semakin lama semakin padat pada saat ini.
Lampu lalu lintas ini dapat mengatur jalannya kendaraan dengan menggunakan tanda
nyala lampu yang berbeda yaitu merah, kuning, dan hijau yang merupakan warna
universal yang digunakan untuk peringatan berhenti, hati-hati dan jalan pada aturan
lalu lintas. Untuk pengaturan watunya kita dapat menggunakan delay waktu sesuai
lama yang diinginkan untuk menjaga efisiensi pemakaian jalan. Misal pada daerah
yang hampir masuk pedesaan biasanya delay waktunya akan singkat atau sedikit,
berbeda dengan perkotaan yang penduduknya padat dan banyak menggunakan
kendaraan bermotor. Apalagi apabila dalam pengaturan jalan itu terdapat palang pintu
kereta api yang sering membuat kemacetan. Sehingga sangat diperlukan pengaturan
lalu lintas yang dapat memperlancar arus dari kendaraan dengan menggunakan
7segmen untuk perhitungan yang dapat dilihat oleh pengendara dengan sistem
counting down dalam kerja 7segmen tersebut

II.PRINSIP KERJA
Pinsip kerja dari lampu lalu lintas ini yaitu
-

Saat pertama sumber VCC masuk lampu P3 akan menyala HIJAU (lampu merah
dan kuning mati) dengan count down mulai dari 20,pada lampu P1 akan menyala
MERAH (lampu hijau dan kuning mati) dengan perhitungan mundur yang dimulai
dari 53, dan pada lampu P2 akan menyala MERAH pula (lampu hijau dan kuning
mati) dengan count down yang dimulai dari setengah lama count down lampu
merah penuh atau sekitar 26. Kemudian setelah perhitungan lampu HIJAU P3 habis
(0), maka lampu akan berubah menjadi KUNING dan menghitung mulai dari lima
hingga habis yang diikuti dengan kedua lampu lain masih menyala MERAH.
Setelah penghitungan lampu KUNING P3 habis (0). Lampu P3 akan berubah
menjadi menyala MERAH dengan count down yang dimulai dari 53, yang diikuti
lampu P2 berubah menjadi warna HIJAU yang menyala dengan count down mulai
dari 20 dan lampu P1 masih MERAH dengan count down tersisa 26. Pada saat
lampu P3 yang menyala MERAH menghitung pada angka 30, lampu P2 akan
menyala KUNING dengan count down dimulai dari angka 5 dan pada lampu P1
masih tetap menyala MERAH dengan count down tinggal 5. Saat lampu P3
menyala MERAH dengan count down pada angka 20, lampu P2 akan menyala
MERAH dengan count down dimulai dari angka 53 dan lampu P1 akan menyala
HIJAU dengan count down dimulai dari angka 20. Dan pada saat P3 berwarna
MERAH dengan count down tersisa 5, lampu P2 masih tetap MERAH dan lampu
P1 akan menyala berwarna KUNING selama 5 sekon. Traffic Light akan akan
bekerja seperti ini terus menerus, akan tetapi pada saat kereta akan melintasi jalur
P3,maka lampu P3 akan menyala KUNING yang diikuti lampu P1 dan P2 akan
menyala KUNING berapapun count down yang masih berjalan dari ketiga lampu
lalu lintas yang sedang bekerja tersebut

III. TEORI DASAR


III.a. Seven Segment
Seven-segment, lebih sedikit biasanya dikenal sebagai suatu seven-segment
indikator, adalah suatu format dari alat tampilan yang suatu alternatif ke dot-matrix
tampilan yang semakin kompleks. Seven-Segment biasanya digunakan di dalam

elektronika sebagai metoda dari mempertunjukkan umpan balik klasifikasi sistim


desimal dengan operasi yang internal tentang alat.
7 segmen diatur sebagai segiempat panjang dari dua segmen yang vertikal pada
[atas] masing-masing sisi dengan satu segmen yang horizontal di bagian atas dan alas.
Apalagi, segmen yang ketujuh membagi dua bgian segiempat panjang secara
horizontal.
Kebanyakan 7-segment mengggunakan tampilan suatu array dari diode pemancar
cahaya ( LED), meskipun demikian lain jenis ada teknologi alternatif penggunaan
seperti lucutan gas katode dingin, ruang hampa kawat pijar yang bercahaya berpijar,
tampilan hablur cair ( LCD), dan lain lain.
Karena gambar lambang suku harga gas dan lain tanda yang besar,
electromagnetically dilemparkan light-reflecting segmen ( kadang-kadang [disebut "
rusuk-rusuk penyejuk") masih biasanya digunakan. Suatu alternatif bagi 7-segment di
1950s sampai 1970s adalah nixie tabung ruang hampa yang seperti tabung. Mulai 1970,
RCA yang dijual suatu alat tampilan yang dikenal sebagai Numitron yang
menggunakan kawat pijar bercahaya mengatur ke dalam suatu seven-segment.

Circuit diagram for Common Anode 7-Segment Display

Circuit diagram for Common Katode 7-Segment Display

IV.KOMPONEN
1. Dual 7 segment
2. Resistor 10 K ohm
3. Switch
4. Microcontroller AT Mega 128
V. BLOK DIAGRAM SISTEM

VI. INPUT / OUTPUT CONECTION


N
o

Alamat

Keterang
an

10

PORTD.0

PORTA.0

OUTPUT

11

PORTD.1

PORTA.1

OUTPUT

12

PORTD.2

PORTA.2

OUTPUT

13

PORTD.3

PORTA.3

OUTPUT

14

PORTD.4

PORTA.4

OUTPUT

15

PORTD.5

PORTA.5

OUTPUT

16

PORTD.6

PORTA.7

LED hijau

OUTPUT

17

PORTD.7

PORTB.07

7
segmen

OUTPUT

18

PORTE.0-7

7 segmen

PORTC.0

Switch

INPUT

19

PORTF.0-7

7 segmen

Peralatan
dp digit11
dp digit12
dp digit21
dp digit22
dp digit31
dp digit32

VII. TIME CHART

LED
merah
LED
kuning
LED hijau
LED
merah
LED
kuning
LED hijau
LED
merah
LED
kuning

OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T
OUTPU
T

VIII. FLOW CHART

IX. PROGRAM
#include <mega128.h>
#include <delay.h>
#define d1 PORTA.0
#define d2 PORTA.1
#define d3 PORTA.2
#define d4 PORTA.3
#define d5 PORTA.4
#define d6 PORTA.5
void On1Segmen(int a);
void On1Digit (int n);
void On2Segmen(int a);
void On2Digit (int n);
void On3Segmen(int a);
void On3Digit (int n);
void input (void);
void main(void)
{ int i,tunda;
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0xFF;
PORTE=0x00;
DDRE=0xFF;
PORTF=0x00;
DDRF=0xFF;
while (1)
{
if(PINC.0==1)
{
input();

}
else
{
for(i=5;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
PORTD.7=0;
PORTA.7=1;
On1Digit(i+48);
On2Digit(i+21);
On3Digit(i+15);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
PORTD.7=0;
PORTA.7=1;
On1Digit(i+43);

On2Digit(i+16);
On3Digit(i+10);
}
}
}
if(PINC.0==1)
{
input();
}
else
{

for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
PORTD.7=0;
PORTA.7=1;
On1Digit(i+38);
On2Digit(i+11);
On3Digit(i+5);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;

PORTD.1=0;
PORTD.2=0;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
PORTD.7=0;
PORTA.7=1;
On1Digit(i+33);
On2Digit(i+6);
On3Digit(i);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=5;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
PORTD.7=1;
PORTA.7=0;
On1Digit(i+27);
On2Digit(i);
On3Digit(i);
}
}
}
if(PINC.0==1)
{
input();

}
else
{

for(i=5;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
PORTD.4=0;
PORTD.5=1;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i+21);
On2Digit(i+15);
On3Digit(i+48);
}
}
}
if(PINC.0==1)
{
input();
}
else
{

for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
PORTD.4=0;
PORTD.5=1;
PORTD.6=1;

PORTD.7=0;
PORTA.7=0;
On1Digit(i+16);
On2Digit(i+10);
On3Digit(i+43);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
PORTD.4=0;
PORTD.5=1;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i+11);
On2Digit(i+5);
On3Digit(i+38);
}
}
}
if(PINC.0==1)
{
input();
}
else
{

for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
PORTD.4=0;
PORTD.5=1;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i+6);
On2Digit(i);
On3Digit(i+33);
}
}
}
if(PINC.0==1)
{
input();
}
else
{

for(i=5;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
PORTD.4=1;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i);
On2Digit(i);

On3Digit(i+27);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=5;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=0;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i+15);
On2Digit(i+48);
On3Digit(i+21);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{

PORTD.0=0;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i+10);
On2Digit(i+43);
On3Digit(i+16);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=0;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i+5);
On2Digit(i+38);
On3Digit(i+11);
}
}
}
if(PINC.0==1)
{

input();
}
else
{
for(i=4;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=0;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTA.7=0;
On1Digit(i);
On2Digit(i+33);
On3Digit(i+6);
}
}
}
if(PINC.0==1)
{
input();
}
else
{
for(i=5;i>=0;i--)
{
for(tunda=0;tunda<=10;tunda++)
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=1;

PORTD.7=0;
PORTA.7=0;
On1Digit(i);
On2Digit(i+27);
On3Digit(i);
}
}
}
}

}
void On1Segmen(int a)
{ switch(a)
{
case 0:PORTB=0x3f;break;
case 1:PORTB=0x06;break;
case 2:PORTB=0x5b;break;
case 3:PORTB=0x4f;break;
case 4:PORTB=0x66;break;
case 5:PORTB=0x6d;break;
case 6:PORTB=0x7d;break;
case 7:PORTB=0x07;break;
case 8:PORTB=0x7f;break;
case 9:PORTB=0x6f;break;
}
}
void On2Segmen(int a)
{ switch(a)
{
case 0:PORTF=0x3f;break;
case 1:PORTF=0x06;break;
case 2:PORTF=0x5b;break;
case 3:PORTF=0x4f;break;
case 4:PORTF=0x66;break;
case 5:PORTF=0x6d;break;
case 6:PORTF=0x7d;break;
case 7:PORTF=0x07;break;
case 8:PORTF=0x7f;break;
case 9:PORTF=0x6f;break;
}
}
void On3Segmen(int a)
{ switch(a)
{

case 0:PORTE=0x3f;break;
case 1:PORTE=0x06;break;
case 2:PORTE=0x5b;break;
case 3:PORTE=0x4f;break;
case 4:PORTE=0x66;break;
case 5:PORTE=0x6d;break;
case 6:PORTE=0x7d;break;
case 7:PORTE=0x07;break;
case 8:PORTE=0x7f;break;
case 9:PORTE=0x6f;break;
}
}
void On1Digit(int n)
{
int s,p;
s=n%10;
p=n/10;
d1=0;d2=1;
On1Segmen(s);
delay_ms(1);
d1=1;d2=0;
On1Segmen(p);
delay_ms(1);
}
void On2Digit(int n)
{
int s,p;
s=n%10;
p=n/10;
d3=0;d4=1;
On2Segmen(s);
delay_ms(1);
d3=1;d4=0;
On2Segmen(p);
delay_ms(1);
}
void On3Digit(int n)
{
int s,p;
s=n%10;
p=n/10;
d5=0;d6=1;

On3Segmen(s);
delay_ms(1);
d5=1;d6=0;
On3Segmen(p);
delay_ms(1);
}
void input (void)
{ int i;
for(i=5;i>=0;i--)
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=0;
PORTD.3=0;
PORTD.4=1;
PORTD.5=0;
PORTD.6=0;
PORTD.7=1;
PORTA.7=0;
d1=1;d2=0;
PORTB=0b1000000;
delay_ms(1);
d1=0;d2=1;
PORTB=0b1000000;
delay_ms(1);
d3=1;d4=0;
PORTF=0b1000000;
delay_ms(1);
d3=0;d4=1;
PORTF=0b1000000;
delay_ms(1);
d5=1;d6=0;
PORTE=0b1000000;
delay_ms(1);
d5=0;d6=1;
PORTE=0b1000000;
}
}

Anda mungkin juga menyukai