laporan akhir uc
TRANSCRIPT
MODUL JOYSTICK PLAYSTATION BERBASIS
MIKROKONTROLER AVR ATMEGA8
Christian Andrean Pradigdya (09.41020.0075)
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER
SURABAYA
2011
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Penggunaan konsol game playstation sudah sangat memasyarakat. Hal ini
dikarenakan sudah terjangkaunya harga konsol game ini dan semakin banyaknya
tempat yang menyewakan konsol game playstation.
Salah satu perangkat konsol game playstation adalah joystick. Joystick
adalah alat pengontrol yang digunakan saat memainkan game dalam playstation.
Saat akan memakai joystick terkadang timbul masalah. Khususnya
masalah pada tombol. Kadang pengguna tidak mengetahui tombol mana yang
masih berfungsi dengan baik dan tombol mana yang sudah tidak berfungsi lagi.
Untuk memudahkan pengguna membedakan tombol mana yang masih bisa
digunakan dan tidak bisa digunakan lagi, maka dibuatlah sebuah modul. Modul
ini berbasis mikrokontroler. Selanjutnya, untuk mengetahui tombol mana yang
masih berfungsi, modul dihubungkan dengan LCD 2x16 karakter. Selanjutnya,
LCD akan menampilkan karakter sesuai tombol yang ditekan pada joystick.
1.2 Rumusan Masalah
Berdasarkan permasalahan di atas, maka dapat dirumuskan
permasalahannya sebagai berikut:
1. Bagaimana merancang dan membuat membuat modul yang dihubungkan
dengan joystick.
2. Bagaimana membuat program untuk membaca data yang diterima dari
joystick.
3. Bagaimana membuat program untuk menampilkan data yang sudah diterima
modul ke dalam LCD.
1.3 Tujuan
Tujuan dari penelitian ini antara lain :
2
1.Untuk merancang dan membuat membuat modul yang dihubungkan dengan
merancang dan membuat membuat modul yang dihubungkan dengan
joystick.
2.Untuk membuat program yang dapat membaca data yang dikirim joystick.
3.Untuk membuat program yang dapat menampilkan data yang sudah diterima
modul ke dalam LCD.
1.4 Batasan Masalah
Joystick playstation yang digunakan adalah joystick playstation 2.
1.4 Kontribusi
Pada eksperimen sebelumnya joystick hanya diakses dan dipakai sebagai
pengontrol suatu robot. Pada eksperimen ini, data yang diakses dari
joystick ditampilkan ke dalam LCD.
3
BAB II
Landasan Teori
2.1 Mikrokontroler ATMEGA8
ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC
yang memiliki 8K Bytes In-System Programmable Flash. Mikrokontroler dengan
konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan
maksimum 16 MIPS pada frekuensi 16MHz. Berikut adalah fitur selengkapnya
dari AVR ATmega8.
High-Performance, Low-Power AVR 8-bit RISC Microcontroller
Advanced RISC Architecture
130 Powerful Instructions – Most Single-clock Execution
32 x 8 General Purpose Working Registers
Fully Static Operation
Up to 16 MIPS Throughput at 16MHz
On-chip 2-cycle Multiplier
High-Endurance Non-Volatile Memory segments
8K Bytes In-System Self-programmable Flash Program Memory
512 Bytes EEPROM
1K Bytes of Internal SRAM
Write/Erase Cycles: 10,000 Flash / 100,000 EEPROM
Data Retention: 20 years at 85`C / 100 years at 25`C
Opitonal Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
Programming Lock for Software Security
Peripheral features
Two 8-bit Timers/Counters with Separate Prescaler, one Compare
Mode
4
One 16-bit Timer/Counter with Separate Prescaler, Compare
Mode, and Capture Mode
Real Time Counter with Separate Oscillator
Three PWM Channels
6-channel ADC with 10-bit Accuracy
Byte-oriented Two-wire Serial Interface
Programmable Serial USART
Master/Slave SPI Serial Interface
Programmable Watchdog Timer with Separate On-Chip Oscillator
On-Chip Analog Comparator
Special Microcontroller features
Power-On Reset and Programmable Brown-out Detection
Internal Calibrated RC Oscillator
External and Internal Interrupt Sources
Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and
Standby
I/O and Packages
23 Programmable I/O Lines
28-lead PDIP, 32-lead TQFP, and 32-pad QFN/MLF
Operating Voltages
2.7 – 5.5V (ATmega8L)
4.5 – 5.5V (ATmega8)
Speed Grades
0 – 8MHz (ATmega8L)
0 – 16MHz (ATmega8)
Power Consumption at 4MHz, 3V, 25`C
Active: 3.6 mA
Idle Mode: 1.0 mA
5
Power-Down Mode: 0.5 uA
(pin ATMEGA8)
VCC
Suplai tegangan digital. Besarnya tegangan berkisar antara 4,5 – 5,5V untuk
ATmega8 dan 2,7 – 5,5V untuk ATmega8L.
GND
Ground. Referensi nol suplai tegangan digital.
PORTB (PB7..PB0)
PORTB adalah port I/O dua-arah (bidirectional) 8-bit dengan resistor pull-up
internal yang dapat dipilih. Buffer keluaran port ini memiliki karakteristik yang
simetrik ketika digunakan sebagai source ataupun sink. Ketika digunakan sebagai
input, pin yang di pull-low secara eksternal akan memancarkan arus jika resistor
pull-up-nya diaktifkan. Pin-pin PORTB akan berada pada kondisi tri-state ketika
RESET aktif, meskipun clock tidak running.
PORTC (PC5..PC0)
PORTC adalah port I/O dua-arah (bidirectional) 7-bit dengan resistor pull-up
6
internal yang dapat dipilih. Buffer keluaran port ini memiliki karakteristik yang
simetrik ketika digunakan sebagai source ataupun sink. Ketika digunakan sebagai
input, pin yang di pull-low secara eksternal akan memancarkan arus jika resistor
pull-up-nya diaktifkan. Pin-pin PORTC akan berada pada kondisi tri-state ketika
RESET aktif, meskipun clock tidak running.
PC6/RESET
Jika Fuse RSTDISBL diprogram, maka PC6 berfungsi sebagai pin I/O akan tetapi
dengan karakteristik yang berbeda dengan PC5..PC0. Jika Fuse RSTDISBL tidak
diprogram, maka PC6 berfungsi sebagai masukan Reset. Sinyal LOW pada pin ini
dengan lebar minimum 1,5 mikrodetik akan membawa mikrokontroler ke kondisi
Reset, meskipun clock tidak running.
PORTD (PD7..PD0)
PORTD adalah port I/O dua-arah (bidirectional) 8-bit dengan resistor pull-up
internal yang dapat dipilih. Buffer keluaran port ini memiliki karakteristik yang
simetrik ketika digunakan sebagai source ataupun sink. Ketika digunakan sebagai
input, pin yang di pull-low secara eksternal akan memancarkan arus jika resistor
pull-up-nya diaktifkan. Pin-pin PORTD akan berada pada kondisi tri-state ketika
RESET aktif, meskipun clock tidak running.
RESET
Pin masukan Reset. Sinyal LOW pada pin ini dengan lebar minimum 1,5
mikrodetik akan membawa mikrokontroler ke kondisi Reset, meskipun clock
tidak running. Sinyal dengan lebar kurang dari 1,5 mikrodetik tidak menjamin
terjadinya kondisi Reset.
AVCC
AVCC adalah pin suplai tegangan untuk ADC, PC3..PC0, dan ADC7..ADC6. Pin
ini harus dihubungkan dengan VCC, meskipun ADC tidak digunakan. Jika ADC
digunakan, VCC harus dihubungkan ke AVCC melalui low-pass filter untuk
mengurangi noise.
7
AREF
Pin Analog Reference untuk ADC.
ADC7..ADC6
Analog input ADC. Hanya ada pada ATmega8 dengan package TQFP dan
QFP/MLF.
2.2 LCD 2x16
LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. Pada LCD berwarna semacam
monitor, terdapat banyak sekali titik cahaya (pixel) yang terdiri dari satu buah
kristal cair sebagai suatu titik cahaya. Walaupun disebut sebagai titik cahaya,
namun kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya di dalam
sebuah perangkat LCD adalah lampu neon berwarna putih di bagian belakang
susunan kristal cair tadi. Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan
inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik
akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh
karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna
lainnya tersaring.
Adapun fitur yang disajikan dalam LCD ini adalah :
a. Terdiri dari 16 karakter dan 2 baris.
b. Mempunyai 192 karakter tersimpan.
c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
8
2.3 Joystick
9
Joystick yang digunakan adalah Sonny Analog Controller SCPH-110,
joystick ini mempunyai pin out seperti berikut.
Adapun fungsi pin-pin tersebut, adalah sebagai berikut :
Data, pin ini berfungsi untuk mengirim data dari jostik ke mikrokontroler, data
dikirim dengan bentuk serial sinkron 8 bit fallin edge.
Command, pin ini berfungsi untuk mengirim data dari mikrokontroler ke
joystick, data yang di kirim berbentuk serial sinkron 8 bit fallin edge.
Vcc, Joystick membutuhkan power suplly sebesar 5 volt.
Attention, adalah pin yang digunakan untuk memilih josystick mana yang aktif
( select ).
Clock, berfungsi untuk sinkronisasi pengiriman dan penerimaan data antara
mikrokontroler dan joysick. Sinyaal clock dibangkitkan oleh mikrokontroler.
Acknolwedge adalah sinyal yang dikirim oleh joystick apabila telah menerima
data dari mikrokontroler, ACK akan berlogika low kira-kira satu siklus clock pada
saat data 8 bit telah terkirim.
10
Pin Nama Keterangan
1 DATA Data
2 CMD Command
3 N/C Tidak dihubungkan
4 GND Ground
5 VCC Vcc
6 ATT Attention / Pemilih
7 CLK Clock
8 N/C Tidak di hubungkan
9 ACK Acknowledge
BAB II
Metode Penelitian
11
Metode penelitian yang dipakai adalah studi kepustakaan berupa data-data
literatur dari masing-masing komponen, informasi dari internet dan konsep teoritis
dan buku penunjang.
Keseluruhan penelitian yang dilakukan sesuai blok diagram 3.1
Gambar 3.1 Blok diagram sistem secara keseluruhan
Perancangan Perangkat Keras
Perancangan perangkat keras dibagi menjadi tiga bagian, rangkaian
minimum sistem Atmega8, rangkaian downloader, dan antarmuka joystick.
3.2 Cara kerja
Joystick masuk dalam modul mikrokontroler, user melakukan penekanan
tombol joystick (data dikirim). Mikrontroler mebaca data yang dikirim joystick.
Setelah selesai membaca data yang terkirim, maka mikrokontroler mengirim ke
LCD untuk ditampilkan. Jika tidak ada data yang diterima, maka LCD tidak akan
menampilkan apapun.
3.3. Flowchart software
12
START
scan Joystick
da
STOP
Mikrokontroler membaca data yang dikirim joystick
F
JIKA ADA
T
Mikrokontroler menampilkan ke LCD
Joystick playstation2
Mikrokontroler ATMEGA8535 LCD 2x16
G.4 Gambar rangkaian
13M O S I
h it a m (G N D )
I C 3
A Tm e g a 8 -D I L 2 8 s m a ll
123456789
1 01 11 21 31 4 1 5
1 61 71 81 92 02 12 22 32 42 52 62 72 8
P C 6P D 0P D 1P D 2P D 3P D 4V C CG N DP B 6P B 7P D 5P D 6P D 7P B 0 P B 1
P B 2P B 3P B 4P B 5
A V C CA R E F
A G N DP C 0P C 1P C 2P C 3P C 4P C 5
M O S I
m e ra h (5 V )
h ija u (p s x A c k )
k u n in g (P s x A t t n )
J 2
L C D
123456789
1 01 11 21 31 4
c o k la t (P s x D a t )
R 21 0 0
D 2O n -O f f
R S T
5 V
M O S I
J 5
D o wn lo a d A V R
123456
M I S O
b iru (P s x C lo c k )
S C K
C 81 0 u / 1 6 V
S W 1R e s e t
9 -1 2 V
5 V
R 4 2 2 0
C 2
0 . 1 u F
R S T
M I S O
5 V5 V
C 43 0 p F
o ra n y e (P s x C m d )
S C K
C 71 0 0 u F / 2 5 V
5 V
R 11 0 k
R 6 2 2 0
J 1 0
J o y s t ic k F e m a le C o n n e c t o r
123456789
U 2L M 7 8 0 5
1
2
3V I
GN
D
V O
P B 2
R S T
C 61 0 0 0 u F / 2 5 V
S C K
R 94 k 7
C 33 0 p F
R 7 2 2 0
D 1
1 N 4 0 0 1
5 V
R 82 2 0
R 52 7 0
C 51 0 u F / 1 6 V
a b u -a b u
L 1
1 0 u H
p u t ih (N C )
5 V5 V
M I S O
5 VP B 2
Y 18 M h z
14
M O S I
h it a m (G N D )
I C 3
A Tm e g a 8 -D I L 2 8 s m a ll
123456789
1 01 11 21 31 4 1 5
1 61 71 81 92 02 12 22 32 42 52 62 72 8
P C 6P D 0P D 1P D 2P D 3P D 4V C CG N DP B 6P B 7P D 5P D 6P D 7P B 0 P B 1
P B 2P B 3P B 4P B 5
A V C CA R E F
A G N DP C 0P C 1P C 2P C 3P C 4P C 5
M O S I
m e ra h (5 V )
h ija u (p s x A c k )
k u n in g (P s x A t t n )
J 2
L C D
123456789
1 01 11 21 31 4
c o k la t (P s x D a t )
R 21 0 0
D 2O n -O f f
R S T
5 V
M O S I
J 5
D o wn lo a d A V R
123456
M I S O
b iru (P s x C lo c k )
S C K
C 81 0 u / 1 6 V
S W 1R e s e t
9 -1 2 V
5 V
R 4 2 2 0
C 2
0 . 1 u F
R S T
M I S O
5 V5 V
C 43 0 p F
o ra n y e (P s x C m d )
S C K
C 71 0 0 u F / 2 5 V
5 V
R 11 0 k
R 6 2 2 0
J 1 0
J o y s t ic k F e m a le C o n n e c t o r
123456789
U 2L M 7 8 0 5
1
2
3V I
GN
D
V O
P B 2
R S T
C 61 0 0 0 u F / 2 5 V
S C K
R 94 k 7
C 33 0 p F
R 7 2 2 0
D 1
1 N 4 0 0 1
5 V
R 82 2 0
R 52 7 0
C 51 0 u F / 1 6 V
a b u -a b u
L 1
1 0 u H
p u t ih (N C )
5 V5 V
M I S O
5 VP B 2
Y 18 M h z
M O S I
h it a m (G N D )
I C 3
A Tm e g a 8 -D I L 2 8 s m a ll
123456789
1 01 11 21 31 4 1 5
1 61 71 81 92 02 12 22 32 42 52 62 72 8
P C 6P D 0P D 1P D 2P D 3P D 4V C CG N DP B 6P B 7P D 5P D 6P D 7P B 0 P B 1
P B 2P B 3P B 4P B 5
A V C CA R E F
A G N DP C 0P C 1P C 2P C 3P C 4P C 5
M O S I
m e ra h (5 V )
h ija u (p s x A c k )
k u n in g (P s x A t t n )
J 2
L C D
123456789
1 01 11 21 31 4
c o k la t (P s x D a t )
R 21 0 0
D 2O n -O f f
R S T
5 V
M O S I
J 5
D o wn lo a d A V R
123456
M I S O
b iru (P s x C lo c k )
S C K
C 81 0 u / 1 6 V
S W 1R e s e t
9 -1 2 V
5 V
R 4 2 2 0
C 2
0 . 1 u F
R S T
M I S O
5 V5 V
C 43 0 p F
o ra n y e (P s x C m d )
S C K
C 71 0 0 u F / 2 5 V
5 V
R 11 0 k
R 6 2 2 0
J 1 0
J o y s t ic k F e m a le C o n n e c t o r
123456789
U 2L M 7 8 0 5
1
2
3V I
GN
D
V O
P B 2
R S T
C 61 0 0 0 u F / 2 5 V
S C K
R 94 k 7
C 33 0 p F
R 7 2 2 0
D 1
1 N 4 0 0 1
5 V
R 82 2 0
R 52 7 0
C 51 0 u F / 1 6 V
a b u -a b u
L 1
1 0 u H
p u t ih (N C )
5 V5 V
M I S O
5 VP B 2
Y 18 M h z