i
Universitas Kristen MaranathaAnimasi Objek yang Dapat Bergerak Menggunakan Kubus LED Berbasis
Mikrokontroler ATMega16
Disusun Oleh :
Nama : Ryan Ardianto
NRP : 0622118
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,
Jl. Prof. Drg. Suria Sumantri, MPH no 65, Bandung 40164, Indonesia
Email : ardiantoryan.1411@gmail.com
ABSTRAK
Dengan semakin berkembangnya teknologi dalam bidang elektronika,
khususnya LED, penggunaannya pun semakin beragam. LED tidak hanya digunakan
sebagai lampu indikator tetapi sudah digunakan dalam berbagai keperluan lainnya,
seperti televisi, lampu penerangan,dan papan LED berjalan. LED juga digunakan
sebagai hiburan salah satunya adalah kubus LED.
Pada tugas akhir ini, telah direalisasikan animasi suatu objek menggunakan
kubus LED. Kubus LED terdiri dari matriks LED yang disusun menyerupai kubus.
Penggunaan mikrokontroler ATMega16 sebagai pengontrol nyala dari LED pada
kubus LED, untuk dapat menampilkan objek yang diinginkan. Objek yang
ditampilkan adalah objek kembang api, hujan, dan kat
a “MARANATHA” yang
ditampilkan berurutan. Dengan menggunakan demultiplexer sebagai output tambahan
untuk mikrokontroler, output dari mikrokontroler dapat menghidupkan kubus LED
dengan ukuran 8x8x8.
Berdasarkan hasil percobaan, hasil tampilan objek sesuai dengan yang
diinginkan, delay dengan hasil tampilan yang baik adalah dibawah 30 ms, semakin
besar delay diatas 30 ms maka proses scanning akan terlihat oleh mata.
ii
Universitas Kristen MaranathaAnimated Moving Object with LED Cube Based On Microcontroler ATMega16
Composed by :
Name : Ryan Ardianto
NRP : 0622118
Department of Electrical Engineering, Faculty of Engineering,
Maranatha Christian University, Jl. Prof. drg. Surya Sumantri, MPH. No 65
Bandung 40164, Indonesia
Email : ardiantoryan.1411@gmail.com
ABSTRACT
The technology of electronics developed with fast, especially on LED
technology, which is used variety. LED is not only used as indicator but also used for
many purpose, such as television, lamp, and moving sign. It also used as fun thing,
for example LED cube.
In this final project, animated of an object using LED cube has been realized.
The LED cube comprises a matrix LED which is arranged like a cube.
Microcontroller ATMega16 used as light controller of LED at LED cube, to create an
object which is desired. The object
displayed fireworks, rain, and “MARANATHA”
text which is displayed sequentially. With demultiplexer as microcontroller aux
output form microcontroller able to turning on light of 8x8x8 LED cube.
As the experimental result, object viewed that suitable properly, the best
display is using delay below 30 ms, scanning proces could see by eyes caused by
value of delay is high.
v
Universitas Kristen MaranathaDAFTAR ISI
Halaman
ABSTRAK ...
i
ABSTRACT ...
ii
KATA PENGANTAR ...
iii
DAFTAR ISI ...
v
DAFTAR TABEL ...
ix
DAFTAR GAMBAR ...
x
BAB I PENDAHULUAN
1.1 Latar Belakang ...
1
1.2 Perumusan Masalah ...
1
1.3 Tujuan ...
1
1.4 Batasan Masalah ...
1
1.5 Spesifikasi Alat ...
2
1.6 Sistematika Penulisan ...
2
BAB II LANDASAN TEORI
2.1 Dioda ...
4
2.1.1 LED (Light Emitting Diode) ...
5
vi
Universitas Kristen Maranatha2.3 Mikrokontroler ATMEGA 16 ...
7
2.3.1 Konfigurasi pin ATMEGA 16 ...
8
2.3.2 Diagram Blok ATMEGA 16 ...
10
2.3.3 PORT Input / Output ATMEGA 16 ...
11
BAB III PERANCANGAN ALAT
3.1 Blok Diagram Sistem Kubus LED 8x8x8 ...
13
3.2 Perancangan Kubus LED ...
13
3.3 Rangkaian Mikrokontroler ...
15
3.4 Demultiplexer ...
16
3.5 Gerbang Inverting ...
19
3.6 Proses Scanning objek ...
20
3.7 Diagram Alir Animasi Objek dengan Kubus LED ...
23
3.6.1 Diagram Alir Masing-masing Objek ...
24
BAB IV DATA PENGAMATAN
4.1 Kubus LED ...
41
4.2 Menampilkan Objek Kembang Api ...
42
4.3 Menampilkan Objek Hujan ...
44
4.4 Menampilkan “MARANATHA”
...
46
4.4.1 Objek Huruf “M”
...
46
4.4.2 Objek Huruf “A”
...
47
4.4.3 Objek Huruf “R”
...
48
4.4.4 Obje
k Huruf “N”
...
49
4.4.5 Objek Huruf “T”
...
51
vii
Universitas Kristen MaranathaBAB V SIMPULAN DAN SARAN
5.1 Simpulan ...
53
5.2 Saran ...
53
DAFTAR PUSTAKA ...
54
LAMPIRAN A DATASHEET
viii
Universitas Kristen MaranathaDAFTAR TABEL
Halaman
Tabel 2.1 Fungsi Khusus Port B ...
9
Tabel 2.2 Fungsi Khusus Port C ...
9
Tabel 2.3 Fungsi Khusus Port D ...
10
Tabel 2.4 Konfigurasi Port ATMEGA 16 ...
12
Tabel 3.1 Tabel Kebenaran Demultiplexer ...
17
Tabel 3.2 Tabel Kebenaran Gerbang not ...
20
Tabel 4.1
Pengaruh Delay Pada Huruf “M”
...
46
Tabel 4.2
Pengaruh Delay Pada Huruf “A”
...
47
Tabel 4.3
Pengaruh Delay Pada Huruf “R”
...
48
Tabel 4.4
Pengaruh Delay Pada Huruf “N”
...
50
Tabel 4.5
Pengaruh Delay Pada Huruf “T”
...
51
ix
Universitas Kristen MaranathaDAFTAR GAMBAR
Halaman
Gambar 2.1 Karakteristik Dioda ...
5
Gambar 2.2 Simbol Komponen LED dan Gambar LED ...
6
Gambar 2.3 Multiplexer ...
6
Gambar 2.4 Demultiplexer ...
6
Gambar 2.5 Konfigurasi ATMEGA 16 ...
8
Gambar 2.6 Diagram Blok ATMEGA 16 ...
11
Gambar 3.1 Blok Diagram Kubus LED ...
13
Gambar 3.2 Rancangan LED per-layer ...
14
Gambar 3.3 Rangkaian LED Cube per-layer ...
15
Gambar 3.4 Rangkaian Mikrokontroler ATMEGA 16 ...
16
Gambar 3.5 Konfigurasi Demultiplexer (74ls154) ...
18
Gambar 3.6 Rangkaian Demultiplexer ...
19
Gambar 3.7 Konfigurasi IC SN74LS04 ...
19
Gambar 3.8 Rangkaian Gerbang not ...
20
Gambar 3.9 Konfigurasi dan penamaan LED masing-masing layer ....
21
Gambar 3.10 Tampilan huruf “M”
...
22
Gambar 3.11 Diagram alir proses scanning ...
23
Gambar 3.12 Diagram Alir Sistem ...
24
Gambar 3.13 Diagram Alir Objek Kembang Api ...
27
Gambar 3.14 Diagram Alir Objek Hujan ...
29
Gambar 3.15 Diagram Alir Huruf “M”
...
33
Gamba
r 3.16 Diagram Alir Huruf “A”
...
35
x
Universitas Kristen MaranathaGambar 3.18 Diagram
Alir Huruf “N”
...
37
Gambar 3.19
Diagram Alir Huruf “T”
...
39
Gambar 3.20 Diagram Alir Huruf “H”
...
40
Gambar 4.1 Matrix LED 8x8 ...
41
Gambar 4.2 Kubus LED ...
42
Gambar 4.3 Tampilan Objek kembang Api dengan delay dibawah 30 ms
43
Gambar 4.4 Tampilan Objek kembang Api dengan delay diatas 30 ms
44
Gambar 4.5 Efek Hujan Dengan Delay Dibawah 30 ms ...
45
LAMPIRAN A
LAMPIRAN B
B-1
#include <mega16.h>#include <delay.h>
B-6
for(d=14;d<22;d++) { PORTD=~128; PORTA=0x0D; PORTB=hMc[d+8]; delay_ms(1); PORTD=~128; PORTA=0x0B; PORTC=hMc[d]; delay_ms(1); } for(d=30;d<36;d++) { PORTD=~128; PORTA=0x0D; PORTB=hMc[d]; delay_ms(2); } } } void huruf_A() { int i,n,b,a,k,l,j;B-12
PORTD=0x67; PORTA=0x0B; PORTC=0x00; delay_ms(12); PORTD=0x6B; PORTA=0x0D; PORTB=0x80; delay_ms(12); PORTD=0x9D; PORTA=0x0D; PORTB=0x00; delay_ms(12); } } } void huruf_N() { int i,j,k,l;unsigned char hnb[9]={0x30,0x50,0xB0,0xC0,0xD0,0x20,0x60,0xA0,0xE0}; unsigned char hnc[9]={0x02,0x03,0x04,0x05,0x06,0x0A,0x0B,0x0D,0x0E}; unsigned char
hNb[13]={0x00,0x11,0x66,0x77,0x88,0x99,0x2A,0xEE,0xFF,0x30,0xA0,0xB0,0xC0};
B-16
{ for(i=14;i<20;i++) { PORTD=~128; PORTA=0x03; PORTC=hT[i]; delay_us(2500); PORTA=0x07; PORTC=hT[i-14]; delay_us(2500); } for(i=20;i<22;i++) { PORTA=0x0C; PORTB=hT[i]; delay_us(7500); PORTA=0x08; PORTC=i-17; PORTB=hT[i-8]; delay_us(7500); } } } void huruf_H() { int i,j; unsigned char hH[32]={0xF0,0xE0,0xD0,0xC0,0xB0,0xA0,0x90,0x80,0x70,0x60,0x50,0x40,0x30,0x20,0x10,0x00, 0x0F,0x0E,0x0D,0x0C,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00}; unsigned char PD[8]={0x00,0x00,0xE7,0xE7,0xE7,0xE7,0x00,0x00};B-18
{ PORTD=PD[j-16]; PORTA=0x0E; PORTB=hH[j]; delay_ms(8); } } for(i=0;i<5;i++) { for(j=24;j<32;j++) { PORTD=PD[j-24]; PORTA=0x0E; PORTB=hH[j]; delay_ms(8); } } } void kembang_api() {B-24
} for(i=128;i>0;i=i/2) { for(k=0;k<8;k++) { for(j=0;j<5;j++) { PORTD=~(i/4); PORTA=0x00; PORTB=0x6C; PORTC=0x70; delay_ms(1); PORTD=~(i/4); PORTA=0x00; PORTB=0x50; PORTC=0xC2; delay_ms(1); } for(j=0;j<5;j++) { PORTD=~i; PORTA=0x00; PORTB=0xC4; PORTC=0x9C; delay_ms(1); PORTD=~i; PORTA=0x00; PORTB=0x46; PORTC=0xA5; delay_ms(1); } } } } } void main(void) {// Declare your local variables here
// Input/Output Ports initialization // Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00; DDRA=0xFF;
// Port B initialization
B-25
PORTB=0x00;DDRB=0xFF;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00; DDRC=0xFF;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00; DDRD=0xFF;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
B-26
// OC2 output: DisconnectedASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
while (1) {
// Place your code here kembang_api(); PORTD=255; delay_ms(2000); hujan();
PORTD=255; delay_ms(1000); huruf_M(); huruf_A(); huruf_R(); huruf_A(); huruf_N(); huruf_A(); huruf_T(); huruf_H(); huruf_A(); };
1
Universitas Kristen MaranathaBAB I
PENDAHULUAN
1.1
Latar Belakang
Penggunaan LED saat ini semakin berkembang. Mulai dari lampu hemat
energi, sebagai indikator, bahkan televisi. Dengan semakin beragamnya
penggunaan lampu LED, bukan hanya untuk informasi tetapi untuk tujuan
hiburan, seperti papan LED berjalan (moving sign) dan kubus LED (LED cube).
LED memiliki karakteristik yang mirip seperti dioda. LED memiliki spektrum
cahaya dari 400 nm sampai dengan 700 nm, sehingga dapat memancarkan cahaya
tampak ataupun cahaya tidak tampak. LED memiliki konsumsi energi yang relatif
rendah. Dengan memberikan arus forward bias, LED akan aktif sehingga dapat
memancarkan cahaya.
Kubus LED (LED cube) merupakan salah satu aplikasi dari LED. Kubus LED
mirip seperti papan LED (moving sign), hanya ditampilkan secara 3 dimensi.
Kubus LED juga dapat menampilkan objek yang dapat bergerak secara 3 dimensi,
sehingga bentuk atau objek yang ditampilkan seolah-olah hidup.
1.2
Perumusan Masalah
Perumusan masalah tugas akhir ini adalah bagaimana menampilkan bentuk
atau objek yang akan ditampilkan melalui kubus LED dengan ukuran 8x8x8.
1.3
Tujuan
Tujuan dari tugas akhir ini adalah untuk dapat membuat perangkat keras kubus
LED dan perangkat lunak sehingga kubus led dapat menampilkan objek.
1.4
Batasan Masalah
Batasan masalah dari tugas akhir ini adalah :
1.
Bentuk yang ditampilkan adalah berupa kar
akter “MARANATHA”
2
Universitas Kristen Maranatha
2.
Beberapa objek kembang api dan efek hujan.
3.
Ukuran kubus LED 8x8x8.
4.
LED yang digunakan LED satu warna.
1.5
Spesifikasi Alat
Spesifikasi alat yang digunakan pada tugas akhir ini adalah :
1.
4 Demultiplexer 4 to 16 (74ls154)
2.
12 IC gerbang not (SN7404)
3.
512 LED berwarna biru
4.
1 IC ATMEGA 16
5.
Power supply 1 A.
1.6
Sistematika Penulisan
Adapun sistematika dalam penulisan laporan ini terdiri dari 5 BAB, yaitu
sebagai berikut :
BAB I
: PENDAHULUAN
Bab ini berisi latar belakang masalah, perumusan masalah,
tujuan penelitian, batasan masalah, spesifikasi alat dan
sistematika penulisan
BAB II
: LANDASAN TEORI
Bab ini berisi teori-teori penunjang yang diperlukan untuk
merancang dan merealisasikan animasi objek dengan kubus
LED.
BAB III
: PERANCANGAN ALAT
Bab ini berisi perancangan alat kubus LED
BAB IV
: PENGAMATAN DATA DAN ANALISA
3
Universitas Kristen Maranatha
dan analisa sistem agar sesuai yang telah ditetapkan
BAB V
: SIMPULAN DAN SARAN
Bab ini berisi simpulan dari uraian pembahasan yang ada
dalam bab sebelumnya serta saran-saran yang berguna untuk
53
Universitas Kristen MaranathaBAB V
SIMPULAN dan SARAN
5.1
Simpulan
Simpulan dari tugas akhir ini adalah :
“Animasi Objek yang Dapat Bergerak Menggunakan Kubus LED
Berbasis Mikrokontroler ATMega16” telah berhasil direalisasikan dan
dapat menampilkan objek yang diinginkan.
Pengaruh delay terhadap tampilan menunjukkan bahwa, delay yang
baik digunakan adalah delay dibawah 30 mS.
Semakin besar delay, maka proses scanning akan terlihat sehingga
tampilan objek akan terlihat menyala secara bergantian.
5.2
Saran
Saran dari tugas akhir ini adalah :
Ukuran kubus led dapat ditambah, supaya menampilkan objek yang
lebih baik.
54
Universitas Kristen MaranathaDAFTAR PUSTAKA
1.
Andrianto, Heri, Buku Panduan : Pelatihan Mikrokontroler AVR ATmega
16, 2008.
2.
Mano, Morris, Digital Design 3
rded., 2002
3.
Sumisjokartono, Elektronika Praktis, 1991.
4.
The Engineering Staff of Texas Instrument, The TTL Data Book for
Design Engineers Vol. 2, 1983
5.
http://www.atmel.com/dyn/products/product_card.asp?part_id=2010&cate
gory_id=163&family_id=607&subfamily_id=760.22Februari2010.22.36,
diakses tanggal 20 Januari 2013
6.
http ://www.instructables.com/id/Led-Cube-8x8x8, diakses tanggal 10
Febuari 2013