WAHANA PERMAINAN
Oleh:
Nama : Pratama Johansah Endaryono NIM : 08.41020.0042
Program : S1 (Strata Satu) Jurusan : Sistem Komputer
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER SURABAYA
vi
Permainan merupakan suatu sarana hiburan yang diminati oleh banyak kalangan, mulai dari anak-anak, remaja, maupun orang dewasa. Zaman dahulu permainan hanya dilakukan dirumah atau bermain bersama teman-teman saja, semakin berkembangnya zaman sekarang maka dibuatlah sebuah sarana bermain di wahana permainan tertentu. Misalnya dengan menggunakan koin sebagai sarana pembayaran pada wahana tersebut dan sampai sekarang dibuatlah sebuah alat yang sistem pembayarannya bukan lagi menggunakan koin melainkan menggunakan kartu gesek. Maka dirancanglah sebuah alat yang sistem pembayarannya independen atau berdiri sendiri pada tiap wahana permainan.
Sedangkan sistem pembayaran pada wahana permainan sekarang, menggunakan kartu gesek yang terhubung secara terpusat dengan menggunakan kabel LAN sebagai jaringan komunikasinya. Pada Tugas Akhir kali ini bertujuan untuk membuat media penyimpanan data pada konsep permainan elektrik berbasis microcontroller, dengan EEPROM sebagai kartu penyimpanan data saldo permainan. Bentuk dari kartu memori ini seperti flashdisk, tetapi isinya adalah chip EEPROM khusus.
Pada tampilan luar alat ini terdapat sebuah LCD sebagai layar untuk menampilkan proses bermain dan melihat sisa saldo yang ada pada kartu memori. Terdapat 2 tombol, tombol 1 untuk bermain dan tombol 2 untuk melihat sisa saldo pada kartu memori. Terdapat beberapa LED untuk indikator proses berjalannya permainan tersebut. Sedangkan untuk microcontroller, menggunakan sebuah Minimum System ATmega32.
x
ABSTRAKSI ... vi
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR TABEL ... xiv
DAFTAR GAMBAR ... xv
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Perumusan Masalah ... 2
1.3. Pembatasan Masalah ... 2
1.4. Tujuan ... 2
1.5. Kontribusi ... 3
1.6. Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 5
2.1. Microcontroller ATMega32 ... 5
2.1.1. Konfigurasi PIN ... 7
2.2. Media Penyimpanan EEPROM AT24C16 ... 10
2.2.1. Konfigurasi Pin ... 10
2.3. American Standard Codes for International Interchange (ASCI) ... 12
2.4. Liqiud Cristal Displya (LCD) ... 17
2.4.1. Display Data Random Access Memory (DDRAM) ... 19
2.4.2. Character Generator Random Access Memory (CGRAM) ... 19
2.5. Inter Integrated Circuit (I2C) ... 20
2.5.1. Mekanisme Hubungan Antar Komponen ... 21
2.5.2. Protokol Fisik I2C ... 23
BAB III METODE PENELITIAN ... 26
3.1. Model Penelitian ... 26
3.2. Perancangan Perangkat Keras ... 28
3.2.1. Minimum System ATmega32 ... 28
3.3 Rangkaian EEPROM AT24C16 ... 29
3.4 Fungsi Tombol... 32
3.5 Light Emitting Diode (LED) Indikator... 33
3.6 Rangkaian LCD... 34
3.7 Perancangan Perangkat Lunak ... 35
3.8 Komunikasi Antara EEPROM dan Microcontroller... 36
3.9 Program Pendeteksian Input ... 37
3.9.1 Proses Pengurangan Saldo Permainan ... 39
3.9.2 Proses Output LCD ... 42
3.9.3 Proses Output LED... 42
3.10 Desain Mekanik... 43
3.11 Metode Pengujian dan Evaluasi ... 45
3.11.1 Pengujian Minimum System ATmega32 ... 45
3.11.2.Pengujian LCD ... 45
3.11.3.Pengujian LED... 46
3.11.4.Pengujian Tombol... 46
3.11.6.Evaluasi ... 47
4.3 Pengujian Koneksi EEPROM dan Minimum System ... 51
4.3.1. Tujuan ... 51
4.3.2. Alat yang Digunakan ... 51
4.3.3. Prosedur Pengujian ... 51
4.3.4. Hasil Pengujian Koneksi EEPROM dan Minimum System ... 52
4.4. Pengujian Sistem Secara Keseluruhan ... 53
5.2. Saran ... 59
DAFTAR PUSTAKA ... 61
LAMPIRAN ... 62
Lampiran 1 Kode Program Main... 62
Lampiran 2 Kode Program Isi Saldo... 71
Lampiran 3 Langkah-langkah Penggunaan Alat... 77
xiv
Tabel 2.1. Tabel ASCII ... 13
Tabel 2.2. Konfigurasi Pin LCD ... 17
Tabel 2.3. Karakter Pada CGROM M1632 LCD ... 20
xv
Gambar 2.1. Modul Minimun System ATmega32 ... 7
Gambar 2.2. Konfigurasi Pin Microcontroller ATmega32 ... 7
Gambar 2.3. Diagram Blok ATmega32 ... 9
Gambar 2.4. Konfigurasi Pin AT24C16 ... 10
Gambar 2.5. Diagram Blok AT24C16 ... 11
Gambar 2.6. Format Pengalamatan Memori ... 12
Gambar 2.7. Bentuk Fisik LCD ... 17
Gambar 2.8. Konfigurasi LCD ... 18
Gambar 2.9. Ilustrasi SCL dan SDA ... 22
Gambar 2.10. Transaksi Pada Data SCL dan SDA ... 24
Gambar 2.11. Alamat Pengiriman SCL dan SDA ... 24
Gambar 3.1. Blok Diagram Permainan ... 26
Gambar 3.2. Blok Diagram Pengisian Saldo... 27
Gambar 3.3. Rangkaian Skematik Minimum System ATmega32 ... 29
Gambar 3.4. Alamat Format Untuk Perangkat I2C ... 30
Gambar 3.5. Diagram 4 byte Untuk Menulis ke Memori ... 31
Gambar 3.6. Diagram Membaca Alamat Yang Dipilih ... 31
Gambar 3.7. Rangkaian EEPROM ke Microcontroller ATmega32 ... 32
Gambar 3.8. Tombol Pilihan ... 33
Gambar 3.9. LED Indikator ... 33
Gambar 3.10. Rangkaian LCD ke Microcontroller ... 34
Gambar 3.12. Flowchart Pendeteksi Input ... 38
Gambar 3.13. Flowchart Pengurangan Saldo ... 40
Gambar 3.14. Flowchart Output LED ... 42
Gambar 3.15. Alat Tampak Atas ... 44
Gambar 3.16. Alat Tampak Samping ... 44
Gambar 3.17. Bentuk Kartu Penyimpanan Data Saldo ... 45
Gambar 4.1. Pengujian LCD ... 49
Gambar 4.2. Penekanan Tombol 1 ... 50
Gambar 4.3. Penekanan Tombol 2 ... 50
Gambar 4.4. Tampilan Proses Read ... 52
Gambar 4.5. Tampilan Proses Write + Read Berwarna Merah ... 53
Gambar 4.6. Tampilan Proses Write + Read Berwarna Biru ... 53
Gambar 4.7. Masukan Kartu ... 55
Gambar 4.8. Menu Permainan ... 56
Gambar 4.9. Pengecekan Saldo ... 57
1 1.1 Latar Belakang
Permainan merupakan suatu sarana hiburan yang diminati dan dimainkan
oleh banyak orang baik dari kalangan anak-anak, remaja maupun orang dewasa.
Sedangkan permainan zaman sekarang disajikan pada suatu piranti atau perangkat
teknologi dan dimainkan secara virtual. Media teknologi yang digunakan yaitu,
console, komputer, handphone dan elektronik lainnya. Dalam wahana permainan
sekarang sistem pembayaran menggunakan katru gesek elektrik, sehingga
mempermudah para penggemar permainan yang langsung menggunakan wahana
permainan tersebut contohnya pada Time Zone.
Sedangkan pada sistem pembayaran wahana permainan sekarang, terdapat
sebuah permasalahan untuk proses pembayaran pada Time Zone. Jika kartu gesek
ada sedikit lengkungan atau kusam, maka kartu gesek tersebut tidak dapat
digunakan lagi untuk proses pembayaran pada wahan permainan tersebut dan
tidak bisa digunakan disemua tempat wahana permainan.
Maka penulis tertarik untuk merancang dan membangun aplikasi dari
sistem pembayaran pada Time Zone yaitu, bagaimana membuat media
penyimpanan data pada konsep permainan elektrik berbasis microcontroller. Pada
proses penelitian proyek Tugas Akhir ini, penyimpanan data saldo pembayaran
disimpan pada kartu EEPROM, sedangkan data program permainan tersimpan
pada microcontroller. Sehingga, mempermudah untuk proses pembacaan data
kartu memori ini seperti flashdisk, tetapi isinya adalah chip EEPROM, yang lebih
tahan lama.
Apabila IC microcontroller mengalami kerusakan, maka program data
saldo tidak akan hilang dan rusak, karena sudah tersimpan di dalam kartu
EEPROM. Keuntungan lain dari sistem ini adalah pengguna dapat melakukan
pengecekkan saldo disetiap wahana permainan, yang ditampilkan melalui display
LCD dan kartu EEPROM dapat digunakan disemua tempat wahana permainan,
karena sistem pembayarannya bersifat independen atau berdiri sendiri disetiap
tempat wahana permainan tersebut.
1.2 Perumusan Masalah
Berdasarkarkan latar belakang yang telah dijelaskan di atas dapat
dirumuskan permasalahan sebagai berikut :
1. Bagaimana cara penyimpanan saldo wahana permainan pada EEPROM
agar dapat dibaca dan ditulis oleh microcontroller.
2. Bagaimana cara koneksi serial antara microcontroller dan EEPROM.
1.3 Pembatasan Masalah
1. Menggunakan EEPROM sebagai memori untuk menulis dan menyimpan
data.
2. Terdapat komputer yang berfungsi sebagai pengisian saldo.
3. Menggunakan LCD untuk menampilkan saldo.
4. Tidak membahas sistem keamanan.
1.4 Tujuan
1. Penyimpanan saldo wahana permainan pada EEPROM agar dapat dibaca
dan ditulis oleh microcontroller.
2. Membuat koneksi serial antara microcontroller dan EEPROM.
1.5 Kontribusi
Pemanfaatan EEPROM cukup banyak dikembangkan sebagai media
penyimpanan tambahan microcontroller. Dengan memanfaatkan metode ini,
diharapkan EEPROM dapat menjadi suatu media penyimpanan yang dapat
digunakan secara mobile sebagai penyimpan data saldo pada wahana permainan.
Umumnya EEPROM digunakan sebagai penyimpanan data permanen
seperti databaselogger. Pada penelitian sebelumnya penyimpanan data EEPROM
digunakan oleh Kresno Panji Damaiyanto (2012) yang memanfaatkan EEPROM
sebagai penyimpanan database dari aktivitas forklift.
Pada penelitian kali ini penulis mengembangkan dari penelitian diatas
tersebut untuk membuat suatu media penyimpanan yang praktis dan ekonomis.
Media penyimpanan tersebut digunakan untuk menyimpan data saldo yang dapat
berkurang bila kita bermain pada wahana permainan dan dapat bertambah bila kita
isi saldo tersebut pada counter pengisian saldo permainan. Sehingga pengguna
hanya memasukkan kartu pada slot yang telah tersedia agar dapat mengaktifkan
permainan dan saldo akan berkurang secara otomatis. Pada masing-masing
wahana permainan disediakan fasilitas untuk melihat saldo yang dimiliki oleh
setiap pengguna.
1.6 Sistematika Penulisan
Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai
BAB I : PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, perumusan masalah,
pembatasan masalah, tujuan penulisan laporan Tugas Akhir, kontribusi dan
sistematika penulisan Tugas Akhir.
BAB II : LANDASAN TEORI
Bab ini membahas tentang berbagai teori yang mendukung Tugas Akhir
ini. Hal tersebut meliputi Microcontroller ATMega32, Media
Penyimpanan EEPROM AT24C16A, Liqiud Cristal Display (LCD).
BAB III :METODE PENELITIAN
Bab ini membahas tentang blok diagram sistem, flowchart dari program
microcontroller, metode penyimpanan data pada EEPROM yang
digunakan untuk menyimpan saldo permainan, adanya tombol sebagai
input untuk pemilihan menu dan LED sebagai indikator dalam berjalannya
permainan.
BAB IV : HASIL DAN PEMBAHASAN
Bab ini berisi tentang segala percobaan LCD, EEPROM, tombol dan hasil
dari setiap percobaan tersebut. Percobaan ini meliputi percobaan dari sisi
penyimpanan data EEPROM hingga secara keseluruhan.
BAB V : PENUTUP
Bab ini berisi tentang kesimpulan dari seluruh aplikasi yang dibuat serta
5
LANDASAN TEORI
2.1 Microcontroller ATmega32
Microcontroller dan microprocessor mempunyai beberapa perbedaan. Jika ditelaah dari artinya maka, microprocessor adalah pengolah mikro sedangkan microcontroller adalah pengendali mikro. Dari pengertian diatas sebenarnya sudah bisa diketahui perbedaannya dimana microprocessor yang terdapat pada komputer seperti Intel Pentium, hanya dapat bekerja apabila terdapat komponen
pendukung seperti RAM (Random Access Memory), hard disk, motherboard, perangkat I/O, dan sebagainya. Komponen-komponen tersebut diperlukan karena
microprocessor hanya dapat melakukan pengolahan data, namun tidak dapat menyimpan data, menyimpan program, menerima masukan dari user secara langsung, ataupun menyampaikan data hasil pemrosesan ke keluaran. Berbeda
dengan microprocessor, microcontroller sudah dilengkapi dengan komponen-komponen yang dikemas dalam satu chip seperti memori, perangkat I/O, timer, ADC (Analog to Digital Converter), dan lain-lain. Hal ini membuat
microcontroller lebih tepat untuk digunakan pada aplikasi embedded system. (Putra, 2010).
Microcontroller AVR (Alf and Vegard’s Risc processor) standar memiliki arsitektur 8bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian
kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATmega, dan
AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah
memori, anda dapat mencoba ATmega8 atau ATtiny2313 dengan ukuran Flash
Memory 2KB dengan dua input analog. Berikut adalah fitur yang terdapat pada
microcontroller ATmega32 yaitu:
1. Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.
2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.
3. Tiga buah Timer/Counter.
4. CPU yang terdiri dari 32 buah register.
5. Memiliki 131 instruksi yang membutuhkan 1 siklus clock.
6. Watchdog timer dengan osilator internal.
7. Dua buah timer/counter 8 bit, satu buah timer/counter 16 bit.
8. Tegangan operasi 2.7 V – 5.5 V pada ATmega 16L.
9. Internal SRAM sebesar 1 KB.
10.Memori flash sebesar 32KB dengan kemampuan Read While Write.
11.Unit interupsi internal dan external.
12.Port antarmuka SPI.
13.EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
14.Antarmuka komparator analog.
15.4 channel PWM.
16.32x8 general purpose register.
17.Hampir mencapai 16 MIPS pada Kristal 16 MHz.
2.1.1. Konfigurasi PIN
Konfigurasi pin microcontroller ATmega32 dan bentuk modul minimum system ATmega32 terdapat pada Gambar 2.1 dan Gambar 2.2.
Gambar 2.1 Modul Minimum System ATmega32 (Sumber:Innovative Electronics, 2011)
Gambar 2.2 Konfigurasi pin microcontroller ATmega32. (Sumber: ATMEL, 2003)
Fungsi umum dari susunan pin microcontroller ATmega32 adalah sebagai
berikut:
1. VCC merupakan catu daya positif.
3. Port A (PAO..PA7) merupakan pin I/O dua arah dan dapat diprogram
sebagai pin dari ADC.
4. Port B (PBO..PB7) merupakan pin I/O dua arah dan fungsinya sebagai,
timer/counter, komparator analog, dan SPI.
5. Port C (PCO..PC7) merupakan pin I/O dua arah dan fungsinya sebagai,
TWI, komparator analog, dan timer osilator.
6. Port D (PDO..PD7) merupakan pin I/O dua arah dan fungsinya sebagai,
komparator analog, interupsi eksternal dan komunikasi serial.
7. Reset merupakan pin yang digunakan untuk me-reset microcontroller.
8. XTAL 1 dan XTAL 2 sebagai pin clock eksternal. Pada microcontroller membutuhkan sumber (clock) agar dapat mengeksekusi instruksi yang ada
di memori. Semakin tinggi nilai kristalnya, maka semakin cepat
microcontroller tersebut.
9. AVCC sebagai pin tegangan untuk ADC.
Gambar 2.3 Diagram blok Atmega32 (Sumber: ATMEL, 2003)
Pada Gambar 2.3 dalam datasheet didasarkan pada simulasi dan characterization microcontrollers AVR, nilai tegangan pada ATmega32 adalah CMOS 8-bit daya rendah. Maka microcontroller akan meningkatkan Arsitektur RISC, dengan mengeksekusi instruksi dalam satu siklus. ATmega32 mencapai
2.2 Media Penyimpanan EEPROM AT24C16A
EEPROM AT24C16A adalah media penyimpanan eksternal yang memiliki kapasitas sebesar 524.288 bit atau 65.536 bit. Memori ini cukup efisien
dalam penggunaan pin dengan microcontroler. AT24C16 dikenal dengan nama
2-wire serial EEPROM menggunakan teknologi I2C. 2.2.1 Konfigurasi PIN
AT24C01A/02/04/08A/16A menyediakan bit 1024/2048/4096/8192/16384
seri elektrik dihapus dan diprogram Read Only Memory (EEPROM) disusun sebagai 128/256/512/1024/2048 per-kata 8 bit. Alat ini dioptimalkan untuk
digunakan dalam banyak aplikasi dimana daya rendah tegangan operasi sangat
penting. AT24C01A/02/04/08A/16A tersedia dalam 8 PDIP, 8 Jedec Soic, 8 alamat, 5 SOT23 (AT24C01A/AT24C02/AT24C04), 8 TSSOP, dan 8 BGA2
paket dan diakses melalui dua jalur serial. Selain itu, (EEPROM) mempunyai catu
daya 2.7V (2.7V ke 5.5V) dan 1.8V (1.8V untuk 5.5V).
Gambar 2.4 Konfigurasi pin AT24C16 (Sumber: ATMEL, 2005)
Pada Gambar 2.4 fungsi umum dari susunan pin EEPROM AT24C16
adalah sebagai berikut:
1. Serial Clock (SCL)
2. Serial Data (SDA)
4. AT24C04 menggunakan input pin A1 dan pin A2
5. AT24C08A hanya menggunakan input pin A2. Pin A0 dan pin A1 tidak
terhubung.
6. AT24C16A tidak menggunakan alamat pin A0, pin A1, dan pin A2.
7. Perlindungan penulisan (WAP)T: 24C01A/02/04/08A/16A digunakan untuk
menyediakan perlindungan data. Untuk melindungi data, pada format tulis dan
baca, maka EEPROM harus terhubung ke pin (GND). Ketika menulis data,
maka EEPROM harus terhubung ke pin (VCC) untuk mengaktifkan
perlindungan penulisan data tersebut.
Gambar 2.5 Diagram blok AT24C16A (Sumber: ATMEL, 2005)
Pada Gambar 2.5 AT24C16A memiliki 2 pin SCL (serial clock) dan SDA (serial data). Operasi pada I2C, memori ini juga memiliki pin untuk tujuan
pengalamatan yaitu A1 dan A0 sehingga memungkinkan untuk penggunaan secara
paralel hingga 4 unit sekaligus. AT24C16 dapat dipasang secara paralel dengan
menggunakan jalur I2C, untuk mendapatkan hasil secara maksimal sebesar 256
prosedur yang dapat menghilangkan isinya, yaitu memiliki pin WP (write
protect). Jika pin ini dihubungkan ke (VCC) maka operasi tulis akan diabaikan. Memori AT24C16A memiliki alamat internal 1010H. Pada saat melakukan operasi pengalamatan pada LSB harus ditambahkan sesuai dengan pin
A1 dan A0. Format pengalamatan unit memori ini dapat dilihat pada Gambar 2.6.
Gambar 2.6 Format pengalamatan memori (Sumber: ATMEL, 2005)
AT24C16A dapat dijalankan untuk operasi baca maupun tulis. Pada
operasi menulis disediakan 2 mode, yaitu byte write atau penulisan isi memori per-byte dan page write yaitu penulisan memori per halaman dengan jumlah data
tiap halaman adalah 128 byte.
2.3 American Standard Codes for International Interchange (ASCI)
ASCII singkatan dari American Standard Code for Informasi Interchange.
Komputer hanya dapat memahami nomor, maka kode ASCII adalah representasi
numerik dari karakter seperti 'a', '@'. ASCII dikembangkan dengan karakter
non-printing, ASCII dirancang untuk digunakan dengan teletypes sehingga dapat ditampilkan dengan penulisan yang tidak jelas. Maka dapat mengkopi file ke
dalam alamat yang ditujukan. Tabel 2.1 kode extended ASCII.
Tabel 2.1 Tabel ASCII
EOT 0004 4 End of transmission (tidak tampak)
ENQ 0005 5 Enquiry (tidak tampak)
ACK 0006 6 Acknowledge (tidak tampak)
BEL 0007 7 Bell (tidak tampak)
BS 0008 8 Menghapus satu karakter di
belakang kursor (Backspace)
HT 0009 9 Horizontal tabulation
LF 000A 10 Pergantian baris (Line feed)
VT 000B 11 Tabulasi vertikal
FF 000C 12 Pergantian baris (Form feed)
CR 000D 13 Pergantian baris (carriage return)
SO 000E 14 Shift out (tidak tampak)
NAK 0015 21 Negative acknowledge (tidak
tampak)
SYN 0016 22 Synchronous idle (tidak tampak) ETB 0017 23 End of transmission block (tidak
tampak)
CAN 0018 24 Cancel (tidak tampak)
EM 0019 25 End of medium (tidak tampak)
SUB 001A 26 Substitute (tidak tampak)
P 0050 80 Huruf latin P kapital
\ 005C 92 Garis miring terbalik (backslash)
~ 007E 126 Karakter gelombang (tilde)
0088 136 Character tabulation set 0089 137 Character tabulation with
justification 008A 138 Line tabulation set
PLD 008B 139 Partial line down
009A 154 Single character introducer
CSI 009B 155 Control sequence introducer
ST 009C 156 String terminator
OSC 009D 157 Operating system command
PM 009E 158 Privacy message
APC 009F 158 Application program command
00A0 160 Spasi yang bukan pemisah kata
¡ 00A1 161 Tanda seru terbalik
¢ 00A2 162 Tanda sen (Cent)
£ 00A3 163 Tanda Poundsterling
¤ 00A4 164 Tanda mata uang (Currency)
¥ 00A5 165 Tanda Yen
¦ 00A6 166 Garis tegak putus-putus (broken bar)
§ 00A7 167 Section sign
¨ 00A8 168 Diaeresis
© 00A9 169 Tanda hak cipta (Copyright)
« 00AB 171 Left-pointing double angle
2.4 Liqiud Cristal Display (LCD)
Gambar 2.7 Bentuk fisik LCD (Sumber: Hawkins, 2012)
Pada Gambar 2.7 LCD merupakan salah satu komponen elektronika yang
berfungsi untuk menampilkan data, baik karakter, huruf ataupun grafik. Di
pasaran LCD sudah tersedia dalam bentuk modul yaitu layar LCD beserta
rangkaian pendukungnya termasuk ROM dan lain-lain. LCD mempunyai pin
DATA, kontrol catu daya, dan pengatur kontras tampilan seperti pada Tabel 2.2.
Tabel 2.2 Konfigurasi pin dari LCD 2x16 M1632
Nomor PIN Nama Fungsi
Deskripsi
1. Vss Power GND
2. Vdd Power + 5 V
4. RS Command Register Select
Fungsi dari pin-pin pada konfigurasi dari LCD yaitu:
1. Pin DATA dapat dihubungkan dengan bus data dari rangkaian lain seperti
microcontroller dengan lebar data 8 bit.
2. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low
menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.
3. Pin R atau W (Read Write) berfungsi sebagai instruksi pada modul jika
low tulis data, sedangkan high baca data.
4. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
Data Bus Control Supply
5. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin
ini dihubungkan dengan variabel resistor 5 kOhm, jika tidak digunakan
dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5
Volt.
LCD telah dilengkapi dengan microcontroller HD44780 yang berfungsi sebagai pengendali. LCD ini juga mempunyai CGROM (Character Generator
Read Only Memory), CGRAM (Character Generator Random Access Memory) dan DDRAM (Display Data Random Access Memory).
2.4.1. Display Data Random Access Memory (DDRAM)
DDRAM merupakan memori tempat karakter yang akan ditampilkan
berada. Contoh, untuk karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka
karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD.
Apabila karakter tersebut ditulis di alamat 40, maka karakter tersebut akan tampil
pada baris kedua kolom pertama dari LCD.
2.4.2. Character Generator Random Access Memory (CGRAM)
CGRAM adalah memori untuk menggambarkan pola sebuah karakter
dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun
memori ini akan hilang saat power supply tidak aktif, sehingga pola karakter akan
hilang.
2.4.3. Character Generator Read Only Memory (CGROM)
CGROM adalah memori untuk menggambarkan pola sebuah karakter
dimana pola tersebut sudah ditentukan secara permanen dari HD44780, sehingga
pengguna tidak dapat mengubahnya. Karena ROM bersifat permanen, maka pola
Pada Tabel 2.3 terlihat pola-pola karakter yang tersimpan dalam
lokasi-lokasi tertentu dalam CGROM. Pada saat HD44780 akan menampilkan data 41H
yang tersimpan pada DDRAM, maka HD44780 akan mengambil data di alamat
41H (0100 0001) yang ada pada CGROM yaitu pola karakter A.
Tabel 2.3Karakter Pada CGROM M1632 LCD
(Sumber: Hawkins, 2012)
2.5 Inter Integrated Circuit (I2C)
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk mengirim
maupun menerima data. I2C merupakan bus standar yang didesain oleh Philips
pada awal tahun 1980-an untuk memudahkan komunikasi antar komponen pada
suatu rangkaian. I2C merupakan singkatan dari Inter IC atau komunikasi antar IC,
sering disebut juga IIC atau I2C. Pada awalnya, kecepatan komunikasi
maksimumnya atur pada 100kbps karena pada awalnya kecepatan tinggi belum
dibutuhkan pada transmisi data. Untuk yang membutuhkan kecepatan tinggi, ada
mode 400kbps dan sejak 1998 ada mode kecepatan tinggi 3,4Mbps. I2C tidak
Kesederhanaan dan fleksibilitas merupakan ciri utama dari I2C, kedua hal
tersebut membuat bus ini mampu menarik penggunaanya dalam berbagai aplikasi.
Fitur-fitur signifikan dari bus ini adalah :
1. Hanya 2 jalur/kabel yang dibutuhkan.
2. Tidak ada aturan baud rate yang ketat seperti pada RS232, di bus ini IC yang
berperan sebagai master akan mengeluarkan bus clock.
3. Hubungan master/slave berlaku antara komponen satu dengan yang lain, setiap
perangkat yang terhubung dengan bus mempunyai alamat unik yang diset
melalui software.
4. IC yang berperan sebagai master mengontrol seluruh jalur komunikasi dengan
mengatur clock dan menentukan siapa yang menggunakan jalur komunikasi. Jadi IC yang berperan sebagai slave tidak akan mengirim data kalau tidak diperintah oleh Master.
5. I2C merupakan bus yang mendukung multi-master yang mempunyai
kemampuan arbitrasi dan pendeteksi tabrakan data.
2.5.1. Mekanisme Hubungan Antar Komponen
I2C hanya membutuhkan dua jalur/kabel yaitu SDA dan SCL. SCL/serial
clock merupakan jalur clock, digunakan untuk mensinkronkan data transfer antara Master dan Slave dalam I2C bus. SDA/Serial Data merupakan jalur komunikasi data dua arah. SDA dan SCL dihubungkan ke seluruh komponen dalam bus I2C.
Selain kedua jalur/kabel masih ada jalur/kabel ketiga yaitu Ground/0 volt serta
jalus Vcc/5v untuk menghidupkan perangkat/komponen. Baik SDA maupun SCL
agar mampu memberikan output 1, diperlukan pull up resistor yang dihubungkan
ke suplai 5v. Jadi kita harus memberikan resistor pull up pada jalur SDA dan SCL
yang ujung satunya dihubungkan ke 5v. Kita hanya memerlukan 1 buah resistor
per jalur untuk seluruh I2C bus, tidak perlu satu-persatu untuk tiap perangkat.
Ilustrasinya adalah terlihat pada Gambar 2.9.
Gambar 2.9 Ilustrasi SCL dan SDA (Sumber: I2C_Tutoria, 2000)
Dari referensi, didapat bahwa ada yang memakai resistor dengan nilai
mulai 1k8 (1800 Ohm) sampai 47k (47000 Ohm). Untuk penulisan, berdasar
pengalaman cenderung memilih nilai 4k7 (4700 Ohm). Pemilihan nilai lain pun
tidak masalah, asal masih dalam rentang tersebut karena berdasar pada spesifikasi
bus I2C yang dirilis oleh NXP pada 2001, pull up device tergantung pada bus load. Jika bus load mencapai 200pF, maka pull up bisa berupa resistor, jika bus load antara 200-400pF (fast mode) maka pull up device bisa berupa sumber arus (min 3mA) atau switched resistor circuit. Jika tidak memberikan pull up device (resistor/sumber arus) maka jalur SDA dan SCL akan selalu berlogika rendah,
hampir 0 volt, dan I2C bus tidak dapat bekerja.
Rumus hukum Ohm :
keterangan :
I = nilai arus
Q = nilai muatan listrik
T = nilai waktu
2. Untuk mengukur besar tegangan listrik dengan rumus V = I * R
keterangan :
Gambar 2.10 Transaksi pada data SCL dan SDA (Sumber: I2C_Tutoria, 2000)
Data ditransfer dalam rangkaian/sequence 8bit. Bit dikirim lewat jalur
SDA dimulai dengan MSB (Most Significant Bit). Jalur SCL kemudian dipulsakan
naik (1) kemudian turun (0). Tanpa pull-up device, chip tidak bisa mengubah garis
ke kondisi naik (1). Untuk setiap 8 bit yang ditransfer, perangkat penerima data
mengirim balik bit acknowledge (ACK), jadi ada 9 clock SCL untuk tiap transfer
dari 8 bit data. Jika perangkat penerima mengirim balik sebuah low ACK bit
(ACK=0) maka perangkat tersebut telah menerima data dan siap menerima data
berikutnya. Jika perangkat penerima mengirim balik naik ACK bit (ACK=1)
berarti perangkat tersebut tidak bisa lagi menerima data selanjutnya, sehingga
master harus mengakhiri transfer data dengan mengirim stop sequence seperti pada Gambar 2.11.
Gambar 2.11 Alamat pengiriman pada SCL dan SDA (Sumber: I2C_Tutoria, 2000)
Kecepatan serial clock (SCL) untuk I2C mencapai 100KHz. Untuk yang
membutuhkan kecepatan tinggi, ada fast mode dimana clock bisa mencapai 400Khz dan sejak 1998 ada mode kecepatan tinggi dimana clock bisa mencapai
26 3.1 Model Penelitian
Agar mendapatkan hasil yang diinginkan maka diperlukan suatu
rancangan agar dapat mempermudah dalam memahami sistem yang akan dibuat,
oleh karenanya akan dibuat seperti pada Gambar 3.1.
Gambar 3.1 Blok Diagram Sistem Pembaca Kartu Memori di Wahana Permainan
Gambar 3.1 merupakan blok diagram permainan, fungsi dari
microcontroller ATmega32 sebagai tempat penyimpanan data program permainan
elektrik. EEPROM berfungsi sebagai tempat penyimpanan data saldo permainan,
sedangkan LCD berfungsi untuk menampilkan hasil dari proses permainan.
Setelah itu microcontroller ATmega32 kembali membaca data program
permainan, jika tombol 1 ditekan maka microcontroller akan melakukan proses
read dan write pada EEPROM untuk mengurangi saldo di awal permainan dengan
biaya permainan sebesar Rp 2000 dan dituliskan lagi sisa dari hasil pengurangan Tombol 1
Microcontroller
ATmega 32 EEPROM
LCD Tombol 2
saldo tersebut di EEPROM, kemudian microcontroller akan mengirimkan data ke
wahana permainan dengan menggunakan kabel serial untuk proses bermain pada
setiap wahana permainan tersebut. Jika tombol 2 ditekan maka microcontroller
hanya melakukan proses read saja, untuk melihat sisa saldo yang ada pada kartu
EEPROM. Semua proses bermain dan untuk melihat sisa saldo pada tiap kartu
memori akan ditampilkan pada layar LCD.
Gambar 3.2 Blok Diagram Pengisian Saldo
Sedangkan pada Gambar 3.2 merupakan blok diagram pengisian saldo
permainan, fungsi komputer untuk mendownloadkan program pengisian saldo,
kemudian perintah dari komputer akan diterima oleh microcontroller ATmega32.
Sebagai proses untuk melakukan pengisian saldo permainan, kemudian
microcontroller akan menuliskan data saldo kembali pada EEPROM. Dan data
saldo tersebut akan tersimpan di EEPROM, kemudian microcontroller akan
menampilkan proses tersebut, bahwa saldo sudah terisi pada layar LCD. Jika
tombol 1 ditekan, maka microcontroller akan melakukan proses read pada
EEPROM untuk menampilkan saldo yang telah terisi pada layar LCD. Sedangkan
fungsi dari LCD adalah, untuk menampilkan proses pengisian saldo yang
dilakukan oleh microcontroller yang tersimpan pada kartu EEPROM. Komputer
Microcontroller
ATmega 32 EEPROM
3.2 Perancangan Perangkat Keras
3.2.1. Minimum System ATmega32
Minimum system ATmega32 yang digunakan adalah minimum system dari
Innovative Electronics. Dengan spesifikasi sebagai berikut
1. Microcontroller ATmega32 yang mempunyai 8KB Flash Memory dan 8
channel ADC dengan resolusi 10 bit.
2. Mendukung varian AVR 40 pin, antara lain : ATmega32, ATmega8535,
AT90S8515, AT90S8535, dll. Untuk tipe AVR tanpa internal ADC
membutuhkan Conversion Socket.
3. Memiliki jalur I/O hingga 35 pin.
4. Terdapat eksternal Brown Out Detector sebagai rangkaian reset.
5. Konfigurasi jumper untuk melakukan pemilihan beberapa model
pengambilan tegangan referensi untuk tipe AVR dengan internal ADC.
6. LED (Light Emitting Diode) Programming indicator.
7. Frekuensi osilator sebesar 4 MHz.
8. Tersedia jalur komunikasi serial UART RS-232 dengan konektor RJ-11.
9. Tersedia port untuk pemrograman secara ISP.
10.Tegangan input catu daya 9-12 VDC dan output tegangan 5 VDC.
Gambar 3.3 Rangkaian skematik Minimum System ATmega32. (Innovative Electronics, 2004)
3.3 Rangkaian EEPROM AT24C16A
EEPROM AT24C16 secara khusus dapat menyimpan data sebanyak
16.384 bit. Jika dijadikan byte menjadi 16384/8 adalah 2048 byte/s. EEPROM
pada catu daya yang berbeda (tergantung pada kecepatan bus) untuk 400kHz
dengan catu daya 5V, jika frequency 100kHz dengan catu daya 1,8 - 2,7V.
Gambar 3.4 Alamat Format untuk perangkat I2C (Sumber: ATMEL, 2005)
Pada Gambar 3.4 Broadcast address untuk I2C bus terdiri dari alamat bit
A2 sampai A0, blok memori (B2 B0), bit R / W (bit LSB), dan bit 1 dari alamat
MSB. Berikut ini adalah cara penulisan pada EEPROM dengan menulis byte
dilokasi yang dituju sebagai berikut:
a. Proses memulai awal (start)
b. Memilih alamat penyimpanan
c. Setelah menemukan alamat yang dituju, maka akan menuliskan data per-bit
d. Alamat yang ditampilkan pada gambar di atas per-bit terakhir adalah alamat
awal per- menit
e. Kemudian mengirimkan data ke alamat yang dituju
f. Kemudian melakukan proses baca per-bit
g. Proses selesai, kemudian setelah itu akan mengulang lagi ke proses (start).
Jika tidak diakhiri pada komunikasi bit, maka data EEPROM dapat
mengirim lebih banyak data yang akan tersimpan pada alamat di atas (counter
langsung otomatis bertambah). Menghentikannya dengan stop proses baca data
Gambar 3.5 Diagram 4 byte menulis ke memori (Sumber: ATMEL, 2005)
Berikut ini adalah cara membaca pada EEPROM dengan cara membaca alamat
tiap bit:
a. Proses memulai awal (start)
b. Membaca alamat yang disimpanan
c. Setelah menemukan alamat yang dituju, maka akan membaca data per-bit
d. Kemudian mengulang proses baca per-bit
e. Proses selesai (stop) pada Gambar 3.6.
Gambar 3.7 Rangkaian EEPROM ke Microcontroller ATmega32
Pada Gambar 3.7 keterangan pin yang duhubungkan pada EEPROM:
a) A0-A2 dihubungkan ke grond jika EEPROM tidak diparalelkan
b) WP dihubungkan ke grond jika proses membaca dan tulis diijinkan
c) VCC dan GND sebagai catu daya
d) SCL dan SDA dihubungkan ke microcontroller
3.4 Fungsi Tombol
Dalam memudahkan user untuk melakukan pemilihan bermain pada
wahana permainan yang ada, mala pada layar LCD diberikan sebuah solusi
dengan menambahkan rangkaian untuk tombol pilihan. Dimana terdapat dua buah
tombol push button yang memiliki fungsi masing-masing dalam melakukan
pemilihan permainan atau melihat sisa saldo pada tiap kartu pemain. Seperti
Tombol 1 Tombol 2 Gambar 3.8 Tombol pilihan
Adapun dua tombol tersebut terdiri dari tombol 1 (untuk memulai
bermain), tombol 2 (untuk melihat sisa saldo yang terdapat pada kartu). Dengan
dibuatnya dua tombol tersebut, maka user dapat memilih dengan bermain atau
melihat sisa saldo dalam kartu, maka ditampilkan pada LCD, sehingga proses
pemilihan dapat berjalan dengan baik.
3.5 Light Emitting Diode (LED) Indikator
Pada alat ini terdapat beberapa LED indikator. Dimana terdapat (1 buah)
LED kuning untuk indikator alat menyala, 6 buah LED merah dan biru untuk
indikator proses bermain. Seperti pada Gambar 3.9 LED indikator.
Proses bermain Alat menyala
3.6 Rangkaian LCD
Gambar 3.10 Rangkaian LCD ke microcontroller
Pada Gambar 3.10 keterangan pin LCD ke microcontroller:
1. GND
2. VCC (+5V)
3. Penyesuaian pada resistor (VO)
4. Register Select (RS) dihubungkan ke pin D5 pada ATmega32
RS=0: perintah, RS=1: membaca data
5. Read/Write (R/W) dihubungkan ke pin D4 pada ATmega32
R/W=0: tulis, R/W=1: baca
6. Dihubungkan ke pin D6 pada ATmega32
7. Bit 0 (tidak dihubungkan)
8. Bit 1 (tidak dihubungkan)
9. Bit 2 (tidak dihubungkan)
11.Bit 4 dihubungkan ke pin D0 pada ATmega32
12.Bit 5 dihubungkan ke pin D1 pada ATmega32
13.Bit 6 dihubungkan ke pin D2 pada ATmega32
14.Bit 7 dihubungkan ke pin D3 pada ATmega32
15.LED (dihubungkan ke VCC)
16.LED (dihubungkan ke GND)
3.7 Perancangan Perangkat Lunak
Perancangan perangkat lunak dibuat menggunakan bahasa program c++
dengan aplikasi CodeVision AVR. Program ini meliputi pendeteksian input dari
tombol, proses pengolahan data, output berupa LCD dan tanda permainan dimulai.
Berikut adalah penjelasan dari masing-masing bagian dari program. Jika tombol 1
ditekan, maka akan mendeteksi saldo di bawah 2000, jika saldo di bawah 2000,
maka dalam proses akan muncul tulisan “maaf saldo tidak cukup”. Jika saldo
diatas 2000 maka proses akan berlanjut pada permainan dan akan memotong saldo
sebesar 2000. Jika tombol 2 ditekan maka akan mengecek sisa saldo yang ada
didalam EEPROM. Pada Gambar 3.11 adalah bentuk flowchart dari program
T
3.8 Komunikasi Antara EEPROM dan Microcontroller
Komunikasi antara EEPROM dan microcontroller memanfaatkan
komunikasi secara I2C. Dalam komunikasi I2C hanya menggunakan dua jalur dari
port microcontroller (SCL dan SDA) yang menuju port EEPROM. Pada
komunikasi I2C ini microcontroller memerintahkan EEPROM untuk menulis atau
membaca pada alamat-alamat yang telah ditentukan oleh microcontroller. Dalam
berkomunikasi microcontroller harus mengirim header terlebih dahulu agar
EEPROM mengerti, perintah tersebut berupa perintah membaca atau menulis.
unsigned char eeprom_read(long address)
i2c_write(EEPROM_BUS_ADDRESS | 0x01); data = i2c_read(0);
3.9 Program Pendeteksian Input
Dalam program ini ada dua input berupa dua switch yang terhubung pada
pin D.2 dan pin D.3 microcontroller. Kemudian pin-pin tersebut digunakan
sebagai selector menu yang telah ditampilkan oleh LCD. Menu tersebut antara
lain adalah menu untuk bermain dan menu untuk melihat sisa saldo. Jika tombol 1
ditekan, maka akan melakukan proses pengurangan saldo permainan. Jika tombol
1 tidak ditekan, maka akan masuk ke tombol 2. Jika tombol 2 ditekan maka akan
mengecek sisa saldo pada EEPROM. Berikut Gambar 3.12 flowchart
if (a[0]=='0') //untuk menghilangkan angka nol
3.9.1. Proses Pengurangan Saldo Permainan
Pada proses pengolahan data microcontroller, data yang diolah atau yang
diproses adalah data yang berada di EEPROM. Data pada EEPROM melakukan
proses read dan write. Proses read dilakukan ketika data dibutuhkan untuk diolah
dan proses write dilakukan ketika data ingin ditambahkan atau diganti. Dalam
pada EEPROM harus diganti dengan data saldo setelah pemotongan. Ketika
tombol 1 ditekan, maka akan melakukan pengecekan pada saldo di EEPROM.
Kemudian jika saldo kurang dari 2000 maka akan muncul tulisan “maaf saldo
tidak cukup”, jika saldo pad EEPROM lebih dari 2000, maka akan melakukan
proses pengurangan saldo sebesar 2000. Kemudian update sisa saldo yang ada di
3.9.2. Proses Output LCD
Pada proses pengeluaran output terbagi menjadi dua output. Output yang
pertama adalah output berupa LCD 2x16. LCD ini digunakan sebagai indikator
dan tampilan menu dan saldo permainan. Berikut potongan program output LCD.
lcd_gotoxy(0,0);
Output yang kedua adalah output dari microcontroller yang
mengindikasikan bahwa permainan dapat atau diijinkan untuk dimulai. Pada
Tugas Akhir ini penulis memanfaatkan LED sebagai indikator berjalannya proses
permainan tersebut. Gambar 3.14 flowchart output LED.
Lampu LED pada port B menyala 111000 selama 1detik dan kemudian
Desain mekanik, terdiri dari satu kotak tempat mekaniknya, satu tampilan
layar LCD, 2-tombol dan 6-buah lampu LED sebagai pendeteksi proses
berjalannya permainan. Pada Gambar 3.15, Gambar 3.16 dan Gambar 3.17 adalah
Gambar 3.15 Alat tampak dari atas
Gambar 3.16 Alat tampak dari samping
5,5cm 9cm
Gambar 3.17 Bentuk kartu penyimpanan data saldo
3.11 Metode Pengujian Dan Evaluasi
Berisikan langkah-langkah awal pembuatan alat, dan pembahasan secara
singkat. Proses Minimum System ATmega32 (pembahsan), LCD (pembahasan),
pengujian LED (pembahasan), pengujian tombol (pembahasan), EEPROM
AT24C16 (pembahasannya), dan evaluasi dari alat apakah sudah bisa berjalan
dengan baik.
3.11.1. Pengujian Minimum System ATmega32
Pengujian minimum system dilakukan dengan cara, membuat rangkaian
minimum system sesuai pada Gambar 3.3. Setelah rangkaian minimum system,
port downloader dihubungkan pada komputer. Pengujian menggunakan program
aplikasi CVAVR dan memanfaatkan “signature” pada program tersebut.
3.11.2. Pengujian LCD
Pengujian LCD dilakukan dengan cara, menghubungkan port LCD ke port
microcontroller seperti pada Gambar 3.10.Setelah semua port terhubung seperti
Gambar 3.10, selanjutnya microcontroller diberi program untuk menampilkan
if (PIND.2==0)
Dengan demikian, LCD dapat menampilkan hasil sesuai apa yang
terprogram pada microcontroller.
3.11.3. Pengujian LED
Pengujian ini dilakukan dengan menghubungkan LED ke minimum system
pada port B.0 sampai port B.5 seperti Gambar 3.9. Disini fungsi dari LED hanya
untuk indikator berjalannya proses bermain dan inisial alat atau minimum system
itu berfungsi (stand by).
3.11.4. Pengujian Tombol
Pengujian ini dilakukan dengan menghubungkan tombol ke minimum
system pada port D.2 dan port D.3 seperti Gambar 3.8. Setelah tombol terhubung,
maka dapat diimplementasikan pada layar LCD, dengan munculnya tampilan
tombol 1 dan tombol 2.
3.11.5. Pengujian EEPROM AT24C16
Pengujian dilakukan dengan cara menghubungkan EEPROM dengan
minimum system seperti pada Gambar 3.7. Setelah terhubung seperti pada Gambar
3.7, kemudian microcontroller diberi program menulis dan membaca dari
EEPROM. Berikut potongan programnya.
unsigned char eeprom_read(long address) {
i2c_write(EEPROM_BUS_ADDRESS); i2c_write((address) & 0x7F); i2c_write(address >> 8); i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 0x01); data = i2c_read(0);
Dari potongan program tersebut, akan menampilkan data yang berada pada
EEPROM.
3.11.6. Evaluasi
Semua dari hasil percobaan yang dilakukan, hasilnya sudah berjalan sesuai
dengan yang diharapkan. Setelah melakukan metode pengujian sebelumnya, maka
diharapkan hasil microcontroller dapat membaca dan menulis data pada kartu
memori. Kemudian hasilnya dapat dirubah dan ditampilkan sesuai program yang
48 4.1 Pengujian LCD
4.1.1 Tujuan
Tujuan dari pengujian ini adalah untuk menampilkan perintah
microcontroller ke LCD.
4.1.2 Alat yang digunakan
1. LCD 2x16
2. Minimum System ATmega32
3. Software CodeVision AVR 2.03.4
4.1.3 Prosedur Pengujian
1. Hubungkan adaptor ke listrik
2. Hubungkan adaptor ke minimum system
3. Menyalakan minimum system ATmega32
4. Download program LCD ke ATmega32
5. Perhatikan respon dari LCD
4.1.4 Hasil Pengujian
Hasil dari pengujian microcontroller ke LCD yang berupa perintah
penulisan “TESTING LCD”. Yang ditampilkan capture LCD pada alat Tugas
Gambar 4.1 Pengujian LCD
4.2 Pengujian Input Tombol
Pengujian ini menggunakan objek dua buah tombol yang terhubung
dengan pin D.2 dan pin D.3.
4.2.1 Tujuan
Tujuan dari pengujian ini adalah untuk mengetahui respon dari input
tombol.
4.2.2 Alat Yang Digunakan
1. Dua buah tombol
2. LCD 2x16
3. Minimum System ATmega32
4. Software CodeVision AVR 2.03.4
4.2.3 Prosedur Pengujian
1. Hubungkan adaptor ke listrik
2. Hubungkan adaptor ke minimum system
3. Menyalakan minimum system ATmega32
5. Tekan tombol satu
6. Perhatikan respon dari LCD
7. Tekan tombol dua
8. Perhatikan respon dari LCD
4.2.4 Hasil Pengujian
Dibawah ini adalah hasil pengujian dari input tombol dengan melakukan
penekanan tombol 1 dan penekanan tombol 2. Berupa input yang dapat direspon
oleh microcontroller. Maka respon tersebut dapat dilihat pada layar LCD seperti
Gambar 4.2 dan Gambar 4.3.
Gambar 4.2 Penekanan tombol 1
4.3 Pengujian Koneksi EEPROM dan Minimum System
Pengujian koneksi ini membuktikan bahwa EEPROM dapat dihubungkan
dengan microcontroller menggunakan komunikasi I2C.
4.3.1 Tujuan
Pengujian koneksi ini bertujuan untuk menulis dan membaca data yang
tersimpan pada EEPROM.
4.3.2 Alat Yang Digunakan
1. AT24C16A
2. Software CodeVision AVR 2.03.4
3. Minimum System ATmega32
4. LCD 2x16
5. Dua buah tombol
4.3.3 Prosedur Pengujian
1. Hubungkan adaptor ke listrik
2. Hubungkan adaptor ke minimum system
3. Menyalakan minimum system
4. Download program EEPROM ke ATmega32
5. Masukkan kartu EEPROM ke minimum system ATmega32
6. Tekan tombol dua untuk melihat sisa saldo (proses read).
7. Perhatikan respon dari LCD.
8. Tekan tombol satu untuk bermain (proses read kemudian write)
9. Perhatikan respon dari LCD dan lampu LED sebagai indikator proses
4.3.4 Hasil Pengujian Koneksi EEPROM dan Minimum System
Dibawah ini adalah hasil pengujian koneksi kartu memori dengan
microcontroller. Yang bertujuan untuk (proses read) pada kartu memori, jadi
kartu memori disini sudah terhubung dengan microcontoller. Maka untuk proses
bacanya dilakukan penekanan tombol 2 pada alat uji, kemudian microcontroller
akan membaca berapa sisa saldo yang terdapat pada kartu memori dan akan
ditampilkan pada layar LCD seperti pada Gambar 4.4.
Gambar 4.4 Tampilan proses read
Setelah proses membaca saldo selesai, maka selanjutnya tekan tombol 1
untuk proses bermain, pembuktian proses write yaitu proses pengurangan saldo
sebanyak 2000, kemudian ditampilkan lagi pada layar LCD berapa sisa saldo yang
Gambar 4.5 Tampilan proses write + read, LED berwarna merah
Gambar 4.6 Tampilan proses write + read, LED berwarna biru
4.4 Pengujian Sistem Secara Keseluruhan
Pengujian ini dilakukan secara keseluruhan, sebelum kartu EEPROM
dimasukkan ke minimum system ATmega32 hingga respon pembacaan dan
penulisan pada EEPROM.
4.4.1 Tujuan
Tujuan dari pengujian ini adalah mengetahui hasil dari proses bermain
4.4.2 Alat Yang Digunakan
1. AT24C16A
2. Software CodeVision AVR 2.03.4
3. Minimum System ATmega32
4. LCD 2x16
5. Dua buah tombol
6. LED
4.4.3 Prosedur Pengujian
1. Hubungkan adaptor ke listrik
2. Hubungkan adaptor ke minimum system
3. Menyalakan minimum system ATmega32
4. Download program permainan ke ATmega32
5. Tunggu hingga LCD mengeluarkan string “masukan kartu...”
6. Hubungkan kartu EEPROM ke minimum system ATmega32
7. Tekan tombol dua untuk melihat sisa saldo (proses read)
8. Perhatikan respon dari LCD
9. Tekan tombol satu untuk bermain (proses read kemudian write)
10. Perhatikan respon dari LCD dan LED akan menyala sebagai indikator
pada proses permainan ini
4.4.4 Hasil Pengujian
Hasil dari pengujian setelah program di-download ke microcontroller
Gambar 4.7 Masukan kartu
Pada saat sebelum memasukan kartu Gambar 4.7 adalah tampilan device
yang memerlukan waktu tunggu. Pada proses ini, dilakukan uji coba terhadap
2-kartu memori sebanyak 30-kali percobaan untuk mengetahui waktu rata-rata dari
proses tunggu saat memasukan kartu memori. Berikut Tabel 4.1.
Tabel 4.1 Waktu Tunggu Pembacaan Kartu EEPROM
Percobaan ke- Waktu tunggu memori 1 Waktu tunggu memori 2
25 1detik 2detik
26 7detik 4detik
27 2detik 1detik
28 4detik 3detik
29 6detik 5detik
30 2detik 3detik
Dari hasil waktu tunggu pada tabel disimpulkan ;
Rata-rata waktu percobaan = Total waktu percobaan Berapa kali percobaan
waktu tunggu kartu memori 1 = 87 detik 30 = 2,9 detik
waktu tunggu kartu memori 2 = 77 detik 30 = 2,566 detik
Kemudian kartu dapat dihubungkan pada microcontroller untuk dapat
mengetahui menu permainan. Gambar 4.8 merupakan respon microcontroller
menampilkan menu awal ketika kartu dihubungkan pada microcontroller.
Gambar 4.8 Menu permainan
Pada menu permainan ada dua pilihan, yaitu menu ke 2 untuk mengecek
sisa saldo permainan yang ada pada kartu memori dan menu ke 1 untuk proses
bermain. Jika kartu memori dilepas pada microcontroller, maka diperlukan waktu
ditandai dengan tampilan LCD seperti pada Gambar 4.7, bila user menekan
tombol tanpa ada kartu memori yang terpasang, microcontroller tidak akan
memberikan respon apa-apa. Pada Gambar 4.9 merupakan respon dari
microcontroller pada kartu memori, ketika melakukan penekanan tombol 2, maka
microcontroller akan membaca data saldo yang ada di kartu memori. Pada
percobaan ini proses yang dilakukan adalah (proses read)
Gambar 4.9 Pengecekan saldo
Setelah mengetahui sisa saldo permainan maka akan kembali ke menu
awal lagi. Kemudian, penekanan tombol 1 digunakan untuk melakukan proses
write dan read. Proses write yaitu menulis perubahan data saldo setelah dikurangi
biaya pada wahana permainan, kemudian proses read disini adalah proses
membaca data yang baru saja di-write atau setelah data di update kembali pada
kartu memori, untuk menyimpan sisa saldo. Pada alat uji Tugas Akhir ini terdapat
LED berwarna merah dan biru, sebagai indikator proses bermain pada wahana
permainan. Gambar 4.10 adalah capture dari hasil pemotongan saldo sebanyak
59 PENUTUP
5.1 Simpulan
Kesimpulan utama dari Tugas Akhir ini adalah sebagai berikut :
1. Penelitian ini dapat membuat sebuah sistem, yang dapat membaca dan menulis
di EEPROM kemudian diolah oleh microcontroller dan ditampilkan oleh LCD.
Microcontroller mengirimkan sinyal serial yang berisi alamat dan data yang
akan disimpan oleh EEPROM. Sehingga, ketika microcontroller membutuhkan
data tersebut microcontroller hanya memanggil alamat yang diinginkan
datanya.
2. Peneliti memanfaatkan komunikasi I2C sebagai komunikasi antara
microcontroller dengan EEPROM. Pada komunikasi ini sebelum mengirimkan
data yang ingin disimpan peneliti mengirimkan header awal (I2C_start)
kemudian alamat dan data yang akan disimpan lalu diikuti header akhir
(I2C_stop). Sedangkan untuk pembacaan data penulis hanya mengirimkan data
header dan alamat. Pada proses pembacaan memori, diketahui bahwa rata-rata
waktu yang diperlukan untuk membaca pada memori 1 adalah (2,9 detik) dan
memori 2 adalah (2,566 detik).
5.2 Saran
Sebagai pengembangan dari penelitian yang dilakukan, berikut adalah
saran dari penulis :
1. Sistem ini dapat dikembangkan dengan cara membuat sebuah device untuk
2. Sistem ini dapat dikembangkan kebanyak wahana wisata lainnya selain di
wahana permainan, karena sistem ini hanya diaplikasikan pada permainan
61
Damaiyanto, Panji, K. 2012. (online). (http://repository.library.uksw.edu/ jspui/handle/123456789/2353).
ATMEL. 2003. ATmega32/ ATmega32A. (online). (http://pdf1.alldatasheet. com/datasheet-pdf/view/77378/ATMEL/ATMEGA32.html).
Putra. 2010. (online). (http://share.pdfonline.com/97465689e261456aa058c82 c7774cfe7/TK404-041035-685-2.htm).
Innovative. 2011. Minimum System ATmega32. (online).
(http://innovativeelectronics.com/innovative_electronics/images/DT-AVR/DT-AVR%20LC%20MS_RED.gif).
ATMEL. 2005. AT24C16/ AT24C16A. (online). (http://pdf1.alldatasheet.com/ datasheet-pdf/view/56066/ATMEL/AT24C16.html).
Tabel. 2010. ASCII. Anonim. (online). (http://www.lookuptables.com/ebcdic_ scancodes.php).
Hawkins, Matt. 2012. LCD. (online). (http://www.raspberrypi-spy.co.
uk/2012/07/16x2-lcd-module-control-using-python/).
Chen. 2008. LCD. (online). (https://www.sparkfun.com/datasheets/LCD/
ADM1602K-NSW-FBS-3.3v.pdf).
Gerry. 2000. I2C. (online). (http://www.robot-electronics.co.uk/