APLIKASI MIKROKONTROLER DENGAN LED DAN SEVEN SEGMEN PADA TRAFFIC LIGHT PEREMPATAN
APLIKASI
MIKROKONTROLER DENGAN LED DAN SEVEN SEGMEN PADA TRAFFIC LIGHT PEREMPATAN
Abstrak
Dewasa ini pemanfaatan
mikrokontroler sudah menjadi hal yang tidak asing lagi, banyak peralatan yang
telah diciptakan berbasis mikrokontroler. Misalnya lampu traffic light, dalam
lampu traffic tersebut memanfaatkan aplikasi antarmuka mikrokontroler dengan seven
segmen dan Led. Dalam project akhir ini penulis mencoba merancang sebuah
miniature traffic light, yaitu mengantarmukakan mikrokontroler ATmega 8535 dengan
Led dan seven segmen. Dalam miniature ini menggunakan 4 buah seven segmen dan
12 buah led. Yang diprogram menyala seperti traffic light.
Kata kunci
: Led, seven segmen, mikrokontroler
A.
PENDAHULUAN
Latar
belakang
Banyak sekali
produk-produk alat yang dihasilkan dengan berbasis mikrokontroler, salah satu
aplikasi yang sudah tidak asing lagi yaitu adalah lampu traffic light.
Seringkali kita melintasi jalan raya dan mendapati rambu-rambu lalu lintas,
namun pernahkah kita berfikir bagaimana traffic light tersebut dapat bekerja
sehingga dapat menghitung mundur dan nyala lampu tersebut dapat bergantian.
Disini penulis akan mencoba menjelaskan cara kerja dari perancangan sebuah
miniature dari traffic light sehingga minimal kita mengetahui bagaimana
perancangan dan cara kerja dari traffic light.
Dengan kita mengetahui
cara kerja dan cara mengantarmukakan mikrokontroler dengan seven segmen dan
led, kita dapat mengaplikasikan antarmuka mikrokontroler pada peralatan lain
juga.
Tujuan
Tujuan dari percobaan
yang telah dilakukan adalah untuk menghasilkan sebuah miniature dari traffic
light jalan raya dengan mengantarmukakan mikrokontroler ATmega 8535 dengan led
dan seven segmen. Sehingga penulis dan khalayak pembaca dapat memahami
perancangan dan cara kerja dari minitur traffic light ini.
Permasalahan
Dalam project akhir ini
permasalahan yang diambil adalah cara mengantarmukakan mikrokontroler dengan
led dan seven segmen, Mengetahui
dan memahami bagaimana
memrogram mikrokontroler untuk menampilkan karakter ke seven segment
serta mengatur nyala led.
Batasan masalah
Untuk
lebih memfokuskan pada pembahasan laporan 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.
Gambar 4 Konstruksi Internal Peraga/Penampil 7
Segmen
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 percobaan yang sudah dilkasanakan
maka dapat disimpulkan bahwa dalam project mengantarmukakan mikrokontroler
dengan led dan seven segment melibatkan semua port pada ATmega 8535 yang
digunakan sebagai output. Seven segment yang digunakan dalam dalam miniature
traffic light ini bekerja dengan diprogram sebagai counter down. Dan nyala led
dikendalikan oleh program agar bekerja sesuai seperti traffic ight.
E.
DAFTAR RUJUKAN
_______,Peraga Penampil Seven Segmen. (Online), http://elektronika-dasar.com/teori-
elektronika/peraga-penampil-7-segmen/, diakses pada tanggal 2 Desember 2012
_______, antarmuka led. (Online). http//:eepu.files.wordpress.com.
diakses pada tanggal 2 desember 2012
_______, aplikasi seven segmen dan mikrokontroler .http//.iswanto.staff.umy.ac.id.
diakses pada tanggal 2 desember 2012
Comments