APLIKASI MIKROKONTROLER DENGAN LED DAN S (1)

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.
2.
3.
4.
5.
6.
7.
8.

Mikrokontroler ATmega 8535
Transistor BC557
Resistor 330 0hm
Resistor 1 k ohm
Resistor Kristal 12000
Led
Kapasitor milar
Kapasitor 1 F, 100 F, 470 F


9. Push button
10. Papan pcb
Untuk rangkaian output :
1.
2.
3.
4.
5.
6.
7.

Seven segmen katoda
Led warna merah, hijau, dan kuning
Kabel 8 jalur
Papan pcb
Resistor 330 ohm
Kabel jumper
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.
2.
3.
4.

32 saluran I/O (Port A, Port B, Port C dan Port D)
10 bit 8 Channel ADC (Analog to Digital Converter)
4 Channel PWM
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 pullup 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 merupak
an
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 20
mA.
Perlu diperhatikan juga bahwa LED juga memiliki tegangan nyala maksimum, jika tegangan t
ersebut 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. Sedang
kan 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 pe
riodik pada frekwensi senilai denga frekwensi AC yang diterapkan. Hal ini terjadi karena LE
D 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=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=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.