Nim : 11.11.1947
Kelas : TI 11 S
Aplikasi Mikrokontroler Pada Traffic Light Perempatan Dengan Menggunakan Led Dan Seven Segmen
Abstrak
Akhir-akhir
ini pemanfaatan mikrokontroller tidak hanya digunakan untuk peralatan-peralatan
canggih saja, namun dewasa ini pemanfaatan microcontroller sudah banyak
digunakan untuk keperluan2 sederhana, misalnya pengatur waktu dan pengatur
nyala lampu flip flop, dalam pengaturan lampu, microcontroller bisa digunakan
untuk membuat lampu traffick light sederhana menyala bergantian sesuai waktu
yang telah di atur dg menggunakan koding pemrograman, pada alat ini menggunakan
mikrokontroller ATMega 8535 dengan 12 led dan 4 seven segment.
A.
PENDAHULUAN
Latar
belakang
Dewasa ini sudah banyak beredar alat
alat sederhana yng menggunakan microcontroller sebagai alat/media controlnya,
salah satu yang sudah tidak asing adalah penggunaan microcontroller di lampu
trafich light, berikut ini penulis akan mencoba menjelaskan cara kerja dari
perancangan traffick ligh mini sederhana, agar minimal kita tahu cara kerja dan
langkah2 kerja dari sebuah traffick light dg menggunakan seven segment dan led
dan agar nantinya bisa mengimplementasikannya dengan alat yg bisa menggunakan
microcontoller lainnya.
Tujuan
Tujuan dari penulisan dan percobaan
ini adalah untuk membuat sebuah lampu traffict ligh sederhana dengan
menggunakan microcontroller ATMega 8535,led dan segment segment sehingga
khalayak pembaca dapat memahami cara kerja dari traffick light
Permasalahan
dalam perakitan rangkaian
microcontroller ini ditemukan masalah pada perancangan dan perakitan media
board yg digunakan sebagai media perakitan rangkaian microcontroller,perlu
adanya penataan untuk ukuran dan jalur yang tepat agar rangkaian dapat bekerja
dg baik
Batasan masalah
Agar khalayak umum dapat lebih memfokuskan pada
rancangan ini maka batasan-batasan masalah yang digunakan adalah:
komponen-komponen yang dibutuhkan pada rangkaian, rangkaian yang mendukung
rancangan, blok diagram rangkaian, proses antarmuka mikrokontroler dengan led
dan seven segmen.
B.
PEMBAHASAN
Dalam project akhir ini bahan-bahan yang mendukung kerja dari rangkaiannya
adalah sebagai berikut:
Untuk
rangkaian minimum system :
1.
Mikrokontroler
ATmega 8535
2.
Transistor
BC557
3.
Resistor 330
0hm
4.
Resistor 1 k
ohm
5.
Resistor
Kristal 12000
6.
Led
7.
Kapasitor
milar
8.
Kapasitor 1F, 100F, 470F
9.
Push button
10. Papan pcb
Untuk
rangkaian output :
1.
Seven segmen
katoda
2.
Led warna
merah, hijau, dan kuning
3.
Kabel 8
jalur
4.
Papan pcb
5.
Resistor 330
ohm
6.
Kabel jumper
7.
Transistor
L7805CN
Penjelasan
komponen-komponen:
1. Mikrokontroler ATmega 8535
AVR termasuk
kedalam jenis mikrokontroler RISC (Reduced Instruction Set Computing) 8 bit.
Berbeda dengan mikrokontroler keluarga MCS-51 yang berteknologi CISC
(Complex Instruction Set Computing). Pada mikrokontroler dengan teknologi RISC
semua instruksi dikemas dalam kode 16 bit (16 bits words) dan sebagian besar
instruksi dieksekusi dalam 1 clock, sedangkan pada teknologi CISC seperti yang
diterapkan pada mikrokontroler MCS-51, untuk menjalankan sebuah instruksi
dibutuhkan waktu sebanyak 12 siklus clock. Secara garis besar, arsitektur
mikrokontrole ATMEGA8535 terdiri dari :
1. 32 saluran I/O (Port A,
Port B, Port C dan Port D)
2. 10 bit 8 Channel ADC
(Analog to Digital Converter)
3. 4 Channel PWM
4. 6 Sl eep Modes : Idle, ADC
Noise Reduction, Power-save, Power-Down, Standby and Extended Standby
5. 3 buah timer/counter.
6. Analog Compararator
7. Watchdog timer dengan
osilator internal
8. 512
byte SRAM
9. 512
byte EEPROM
10. 8 kb
Flash memory dengan kwmampuan Read While Write
11. Unit
interupsi (internal dan external)
12. Port
antarmuka SPI8535 “memory map”
13. Port
USART untuk komunikasi serial dengan kecepatan maksimal 2,5 Mbps
14. 4,5 V
sampai 5,5 V operation, 0 sampai 16 MHz
Peta
Memory ATMega8535
ATMega8535
memiliki ruang pengalamatan memori data dan memori program yang terpisah.
Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64
buah register I/O, dan 512 byte SRAM internal. Register untuk keperluan umum
menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara
itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler
menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register
tersebut merupakan register yang khusus digunakan untuk mengatur fungsi
terhadap berbagai peripheral mikrokontroler, seperti kontrol register,
timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat
memori secara lengkap dapat dilihat pada tabel dibawah . Alamat memori
berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan
$25F.
Gambar 1
Memori AVR ATMega8535
Selain itu
AVR ATmega8535 juga memilki memori data berupa EEPROM 8-bisa sebanyak 512
byte. Alamat EEPROM dimulai dari $000 sampai $1FF.
Status
Register
Status
register adalah register berisi status yang dihasilkan pada setiap operasi yang
dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari
inti CPU
mikrokontroler.
Gambar 2
Status Register
Status
Register ATMega8535
1.
Bit7 --> I (Global Interrupt Enable), Bit harus di Set untuk mengenable
semua
jenis
interupsi.
2.
Bit6 --> T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T
sebagai
sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat
disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin
kembali kesuatu bit dalam register GPR dengan menggunakan instruksi BLD.
3. Bi5 --> H (Half Cary Flag)
4.
Bit4 --> S (Sign Bit) merupakan hasil operasi EOR antara flag -N (negatif)
dan flag V (komplemen dua overflow).
5.
Bit3 --> V (Two's Component Overflow Flag) Bit ini berfungsi untuk
mendukung operasi matematis.
6.
Bit2 --> N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi
matematis menghasilkan bilangan negatif.
7.
Bit1 --> Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi
matematis menghasilkan bilangan 0.
8.
Bit0 --> C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi
menghasilkan carry.
Konfigurasi
Pin Mikrokontroler AVR ATMEGA8535
Mikrokontroler
ATMega8535 memiliki 4 0 pin untuk model PDIP, dan 44 pin untuk
model TQFP
dan PLCC. Nama-nama pin pada mikrokontroler ini adalah :
1. VCC
: merupakan pin y ang berfungsi sebagai pin masukan catu daya
2. GND
: merupakan pin ground.
3.
Port A (PA0...PA7) : merupakan pin I/O dan pin masukan ADC
4. Port B (PB0 – PB7) : merupakan akan pin I/O dua arah dan pin
fungsi khusus, yaitu sebagai Timer/Counter, komperator analog
dan SPI.
5. Port C (PC0 – PC7) : merupakan pin I/O dua arah dan pin
fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator.
6. Port D (PD0 – PD7) : merupakan pin I/O dua arah dan pin
fungsi khusus,yaitu komperator analog, interupsi eksternal dan komunikasi
serial.
7.
RESET : merupakan pin yang digunakan untuk mereset mikrokontroler.
8.
XTAL1 dan XTAL2 : merupakan pin masukan clock eksternal.
9.
AVCC : merupakan pin masukan tegangan untuk ADC.
10. AREF :
merupakan pin tegangan referensi ADC
Gambar
3 Konfigurasi Pin Mikrokontroler ATMEGA8535
Deskripsi
pin-pin pada mikrokontroler ATMega8535 :
1. Port A
Merupakan 8-bit directional port I/O. Setiap pinnya dapat
menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer
Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara
langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu
sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan
pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal
analog bagi A/D converter.
2. Port B
Merupakan
8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction Register
port B (DDRB)harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit
DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai
input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki
untuk fungsi - fungsi alternatif khusus seperti yang dapat dilihat dalam tabel
berikut.
Tabel 1
Fungsi Pin-pin Port B
3. Port C
Merupakan
8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-
up resistor
(dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan
dapat
mengendalikan display LED secara langsung. Data Direction Register port C
(DDRC) harus
disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC
diisi 0 jika
ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau
diisi 1 jika
sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki
fungsi
alternatif sebagai oscillator untuk timer/counter 2.
4. Port D
Merupakan
8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction Register
port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit
DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai
input, atau diisi 1 jik sebagai output. Selain itu, pin-pin port D juga
memiliki untuk fungsi -fungsi alternatif khusus seperti yang dapat
dilihat dalam tabel berikut.
Tabel 2
Fungsi Pin-pin Port B
5. RESET
RST pada pin 9 merupakan reset dari
AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka
system akan di -reset.
6. XTAL1
XTAL1 adalah masukan ke inverting
oscillator amplifier dan input ke internal clock
operating circuit.
7. XTAL2
XTAL2 adalah output dari inverting
oscillator amplifier.
8. AVcc
Avcc adalah kaki masukan tegangan
bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc
melalui lowpass filter.
9. AREF
AREF adalah kaki masukan referensi
bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara
AGND dan Avcc harus dibeikan ke kaki ini.
10. AGND
AGND adalah kaki untuk analog
ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog
ground yang terpisah.
Bahasa
Pemrograman ATMega8535
Pemrograman mikrokontroler
ATMega8535 dapat menggunakan low level language (assembly) dan high level
language (C, Basic, Pascal, JAVA, dll) tergantung compiler yang digunakan.
Bahasa Assembler mikrokontroler AVR memiliki kesamaan instruksi , sehingga jika
pemrograman satu jenis mikrokontroler AVR sudah dikuasai, maka akan dengan
mudah menguasai pemrograman keseluruhan mikrokontroler jenis mikrokontroler
AVR. Namun bahasa assembler relatif lebih sulit dipelajari dari
pada bahasa C. Untuk pembuatan suatu proyek yang besar akan memakan
waktu yang lama serta penulisan programnya akan panjang. Sedangkan bahasa C
memiliki keunggulan
dibanding bahasa assembler
yaitu independent terhadap hardware serta lebih mudah
untuk menangani project yang
besar.
Bahasa C memiliki keuntungan
-keuntungan yang dimiliki bahasa assembler (bahasa mesin), hampir semua
operasi yang dapat dilakukan oleh bahasa mesin, dapat dilakukan dengan bahasa C
dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C terletak
diantara bahasa pemrograman tingkat tinggi dan assembly .
2.
Seven
Segment
Peraga/Penampil 7 segmen adalah
komponen elektronika yang berfungsi untuk memdekodekan data dari bahasa mesin
ke dalam bentuk tampilan data desimal. Peraga/penampil 7 segmen pada dasarnya
adalah konfigarasi LED yang disusun sedemikian rupa sehingga nyala dari LED
tersebut dapat membentuk karakter angka desimal. Struktur tampilan dari
peraga/penampil tujuh segmen tersebut dilabelkan dari a sampai g yang dapat
menampilkan 10 karakter bilangan desimal pertama dari 0 sampai 9. Konstruksi
dari penampil tujuh segmen ditunjukan pada gambar berikut.
Untuk
menggunakan peraga/penampil 7 segmen katoda bersama (common cathoda) maka pin A
– G penampil 7 segment harus diberikan input berupa tegangan DC positif
kemudian terminal common pada penampil 7 segmen dihubungkan ke ground. Kemudian
untuk mengoperasikan penampil 7 segmen anoda bersama (common anoda) maka
terminal input A – G pada penampil 7 segmen harus dihubungkan ke ground
kemudian terminal common dihubungkan ke sumber tegangan DC positif. Resistor
pembatas arus untuk LED pada penampil 7 segmen sebaiknya dipasang seri pada
setiap pin atau jalur input A – G pada peraga/penampil 7 segmen tersebut.
Pemasangan resistor seperti ini bertujuan untuk mendapatkan arus bias LED yang
stabil pada setiap perubahan karakter tampilan pada penampil 7 segmen.
3. LED
LED merupakan singkatan dari Light Emitting Diode. Dari sisi penggolongan, LED merupakan
komponen aktif bipolar
semikonduktor, karena itu hanya mampu
mengalirkan arus dalam satu arah saja.
Untuk menyalakan LED, cukup dengan mengalirkan arus dari anoda ke katoda (forward biass) dengan beda potensial minimum berkisar antara 1,5 hingga 2 volt dan arusnya berkisar di 20mA.
Perlu diperhatikan juga bahwa LED juga memiliki tegangan nyala maksimum, jika tegangan tersebut terlewati maka LED akan rusak. Di Pasaran umumnya LED dikemas berkaki dua
(katoda dan anoda) dengan bermacam‐macam warna nyala. Untuk membedakan
kedua kaki tersebut, kaki anoda biasanya
dibuat lebih panjang daripada katoda.
Harganya sangat terjangkau, berkisar dari 250 rupiah hingga beberapa ribu rupiah.
LED banyak digunakan untuk indikator dan transmisi sinyal atau bahkan untuk penerangan. LED banyak digunakan
karena hemat daya, tahan lama dan
ekonomis, maka wajar jika popularitas LED
mengalahkan tabung nixie maupun lampu pijar.
Antarmuka LED
LED dapat menyala pada
arus searah (DC) maupun arus bolak‐balik (AC), yang membedakan adalah kontinyuitas. Pada arus DC LED menyala secara kontinyu. Sedangkan pada arus AC, LED akan menyala secara tidak
kontinyu (nyala‐padam
secara periodik), menyala pada setengah
gelombang pertama dan padam pada setengah gelombang berikutnya, hal ini terjadi secara periodik pada frekwensi senilai denga frekwensi AC yang diterapkan. Hal ini terjadi karena LED hanya mengalirkan arus satu arah saja, sebagai akibatnya LED hanya akan menyala
pada fasa dimana LED mendapatkan forward
biass (hanya setengah gelombang). Mata
manusia terkadang terlalu
lambat untuk merespon aktifitas nyala‐padam tersebut, pada frekwensi
tertentu (biasanya 85Hz atau lebih) LED
akan terlihat tetap menyala meskipun faktanya
berkedip‐kedip.
Prinsip ini lebih
lanjut digunakan untuk memultipleks LED maupun untuk penghematan daya.
3.
Resistor
Resistor disebut juga dengan tahanan
atau hambatan, berfungsi untuk menghambat arus listrik yang melewatinya.
Semakin besar nilai resistansi sebuah resistor yang dipasang, semakin kecil
arus yang mengalir.
4.
Kapasitor
Kondensator ialah suatu komponen
listrik/elektronika yang dapat menyimpan muatan listrik.
5.
Transistor
Merupakan salah satu dari komponen elektronika yang berfungsi sebagai sakelar
otomatis.
C. PERANCANGAN
Blog diagram
rancangan miniature traffic light
Gambar 5. Blog diagram rancangan miniature traffic
light
Penjelasan
blog diagram
1.
Membuat
listing program traffic light, dalam percobaan ini pertama-tama yang dilakukan
adalah membuat listing program dari miniature traffic light. Listing program
untuk aplikasi ini adalah sebagai berikut.
//Library yang digunakan
#include
#include
//deklarasi array untuk menampilkan
karakter pada seven sgmen
unsigned char
bil[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//fungsi utama
void main(void){
//variabel untuk counter down
int kanan;
//setting port pada mikrokontroler
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xFF;
PORTD=0xFF;
DDRD=0xFF;
//program utama
while (1){
//perulangan untuk counter down pada
seven segmen
for (kanan=10;kanan>=0;kanan--){
//nyalakan ke empat seven segmen
PORTD.7=0;
PORTD.6=0;
PORTD.5=0;
PORTD.4=0;
//output port a sama dengan nilai
varibel bil sesuai nilai variabel kanan
PORTA=bil[kanan];
delay_ms(1000);
if(kanan>3){
PORTB=0b10000100;
PORTC=0b10000100;
}
if(kanan<=2 && kanan>=1){
PORTB=0b10000010;
PORTC=0b10000010;
delay_ms(50);
PORTB=0b10000000;
PORTC=0b10000000;
}
if(kanan==0){
PORTB=0b00100001;
PORTC=0b00100001;
}
}
for (kanan=10;kanan>=0;kanan--){
PORTD.7=0;
PORTD.6=0;
PORTD.5=0;
PORTD.4=0;
PORTA=bil[kanan];
delay_ms(1000);
if(kanan>3){
PORTB=0b00100001;
PORTC=0b00100001;
}
if(kanan<=2 && kanan>=1){
PORTB=0b01000001;
PORTC=0b01000001;
delay_ms(50);
PORTB=0b00000001;
PORTC=0b00000001;
}
if(kanan==0){
PORTB=0b10000100;
PORTC=0b10000100;
}
}
}
}
Berdasarkan
program diatas dapat diketahui bahwa:
2. Setelah
membuat listing program, langkah kedua adalah membuat rangkaian minimum system
dari ATmega 8535, yang nantinya dihubungkan dengan rangkaian output, yaitu
rangkaian yang mencakup seven segmen dan led, dibawah ini merupakan gambar
rangkaian dalam pcb minimum system dan simulasi darirangkaian traffic light.
Gambar 6. Rangkaian output pada pcb
Gambar 7
rangkaian minimumsistem
Gambar 8. Simulasi dari rangkaian
miniature traffic light
3. Setelah
selesai membuat rangkaian output langkah selanjutnya adalah mendownload program
kedalam mikrokontroler ATmega 8535 sehingga dapat mengantarmukakan seven segmen
dan led.
4. Setelah
rangkaian diberi sumber tegangan DC sebesar 5V maka miniature traffic light
dapat berjalan sesuai dengan perintah program.
D. Kesimpulan
Dari hasil percobaan yg sudah dilaksanakan maka dapat
disimpulkan bahwa penerapan microcontroller dengan led dan seven segment
melibatkan semua port pada ATMega8535 yang digunakan sebagai output. Dan fungsi dari sevent segment pada rangkaian
ini di program sebagai counter down dan nyala led dikendalikan oleh program
agar bekerja sesuai traffict light
DAFTAR PUSTAKA
- Ardi, winoto, 2008. Microcontroller AVR Atmega8/32/16/8535 dan pemrogramannya dengan bahasa C pada WinAVR + CD. Informatika, Bandung
- Djusmanto, 2002. Teknik Transportasi. Andi Offset, yogyakarta
- Hery, Andrianto, 2008. Pemrograman mikrokrontroller AVR Almega 16 + CD informatika, Bandung
- Lingga. Wardhana 2006 Belajar Sendiri Mikrocontroller AVR Seri ATMega 8535: Simulasi, Hardware dan Aplikasi. Andi Offset, Yogyakarta
- Syahrul, 2012Mikrocontroller AVR ATMega8535 (Dengan Asembler) + CD. Informatika, Bandung
- Syahban, Rangkuti, 2011.MikrocontrollerATMel AVR (ISIS Proteus dan CodeVisionAVR) + CD.Informatika,Bandung
- Sudjadi, 2005. Teori dan apliaksi mikrokontroller graha ilmu, yogyakarta
- Widodo,2005, dasar-dasar elektronika beserta contoh dan latihan. Andi offset, yogyakarta
- http://id.wikipedia.org/wiki/ATMega8535 (07/01/2014)
- http://www.datasheetcatalog.com/info_redirect/datasheet/atmel/2502S.pdf.shtml (07/01/2014)
- http://www.academia.edu/5165246/aplikasi_mikrokontroler_dengan_led_dan_seven_segmen_pada_traffic_light_perempatan (07/01/2014)
- http://id.answers.yahoo.com/question/index?qid=20120107080657AAPFUv9 (07/01/2014)







ahahhah ok pak :v
BalasHapusbg boleh minta source program nya ?
BalasHapusbg boleh minta source program nya ?
BalasHapus