• Tidak ada hasil yang ditemukan

TA : Rancang Bangun Perangkat Pemandu Permainan Catur Berbasis Microcontroller.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Rancang Bangun Perangkat Pemandu Permainan Catur Berbasis Microcontroller."

Copied!
89
0
0

Teks penuh

(1)

TUGAS AKHIR

Nama : I Gusti Ayu Surya Krsnanda

NIM : 08.41020.0009

Program : S1 (Strata Satu)

Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA

(2)

vii

Catur adalah permainan mental yang dimainkan oleh dua orang yaitu

pemegang bidak hitam dan putih. Permainan catur bukan hanya bisa dimainkan

secara fisik tetapi juga bisa dimainkan melalui komputer, yaitu dengan

menggunakan software permainan catur dan meng-install-nya pada komputer.

Permainan catur pada komputer umumnya dilengkapi fasilitas yang dapat

memudahkan user dalam bermain catur yaitu sistem pemanduan gerakan tiap jenis

bidak. Sehingga dengan fasilitas ini, pemain catur yang tergolong amatir dapat

bermain catur dengan lancar.

Microcontroller adalah salah satu komponen elektronika yang sudah

banyak digunakan. Selain harganya yang relatif murah, microcontroller dinilai

efektif untuk membuat suatu sistem tanpa harus menggunakan komputer.

Dengan memadukan papan catur PCB yang telah didesain khusus,

microcontroller ATmega32 dan algoritma sistem pemanduan pergerakan bidak

catur. Dibentuk perangkat yang berfungsi mirip permainan catur pada komputer

namun menggunakan papan catur secara fisik. Sehingga tidak perlu lagi

membawa komputer untuk memainkan permainan catur yang memiliki sistem

pemanduan pergerakan bidak catur.

Dari hasil pengujian dapat diketahui sistem pemanduan permainan catur

ini dapat dikendalikan dengan baik menggunakan microcontroller ATmega32,

namun terdapat kendala dalam memandu bidak hitam dan mempertimbangkan

(3)

x

DAFTAR ISTILAH DAN SINGKATAN xix

BAB I PENDAHULUAN

2.2 Ketentuan Permainan Catur 7

2.2.1 Pola Pergerakan Bidak Catur 8

2.2.2 Rokade 9

(4)

2.2.4 Promosi 10

2.2.5 Skak 11

2.2.6 Akhir Permainan Catur 11

2.3 Microcontroller ATmega32 12

2.3.1 Konfigurasi Pin 13

2.8 BASCOM-AVR Compiler 26

2.9 CodeVision AVR 28

BAB III METODE PENELITIAN

3.1 Perancangan Perangkat Keras 34

3.1.1 Rangkaian Microcontroller 35

a. Rangkaian MinimumSystem 35

b. Perancangan Interface I/O 36

c. Program Downloader 38

d. Rangkaian Reset 39

e. Rangkaian Oscillator 40

3.1.2 Rangkaian Input 41

3.1.3 Rangkaian Output 43

(5)

3.3 Perancangan Perangkat Lunak 48

BAB IV PENGUJIAN SISTEM

4.1 Pengujian Minimum System 54

4.1.1 Tujuan 54

4.1.2 Alat yang digunakan 54

4.1.3 Prosedur Pengujian 55

4.1.4 Hasil Pengujian 55

4.2 Pengujian Perangkat Input 56

4.2.1 Tujuan 56

4.2.2 Alat yang digunakan 56

4.2.3 Prosedur Pengujian 56

4.2.4 Hasil Pengujian 57

4.3 Pengujian Perangkat Output 60

4.3.1 Tujuan 60

4.3.2 Alat yang digunakan 60

4.3.3 Prosedur Pengujian 60

4.3.4 Hasil Pengujian 62

4.4 Pengujian Keseluruhan Sistem 64

4.5.1 Tujuan 64

4.5.2 Alat yang Digunakan 64

4.5.3 Prosedur Pengujian 64

(6)

BAB V PENUTUP

5.1 Kesimpulan 70

5.2 Saran 71

DAFTAR PUSTAKA 72

LAMPIRAN 74

(7)

xiv

Tabel 2.1 Isi Register setelah reset 15

Tabel 3.1 Perancangan interface input/output 37

Tabel 4.1 Hasil pengukuran tegangan perangkat input 58

(8)

xv

Halaman

Gambar 2.1 Proses pergerakan Rokade 9

Gambar 2.2 Proses pergerakan en passant 10

Gambar 2.3 Proses pergerakan promosi 11

Gambar 2.4 Pin-pin ATmega32 13

Gambar 2.5 Skema rangkaian reset 15

Gambar 2.6 Aliran arus dan perubahan tegangan pada reset otomatis 16

Gambar 2.7 Rangkaian ekivalen saat saklar S1 ditekan 17

Gambar 2.8 Simbol LED 18

Gambar 2.9 Gated D-Latch 19

Gambar 2.10 Tabel kebenaran D-Latch 19

Gambar 2.11 Diagram function 74HC57 20

Gambar 2.12 Logic diagram 74HC573 20

Gambar 2.13 IC Latch 74HC573 21

Gambar 2.14 Diagram fungsi 74HC244 24

Gambar 2.15 IC buffer 74HC244 24

Gambar 2.16 Regulator LM7805 25

Gambar 2.17 Skematik prinsip kerja IC regulator LM7805 26

Gambar 3.1 Blok Diagram Keseluruhan Sistem 33

Gambar 3.2 Rangkaian MinimumSystem 36

Gambar 3.3 Rangkaian kabel downloader pada port LPT 39

(9)

Gambar 3.5 Rangkaian Reset 40

Gambar 3.6 Rangkaian Oscillator 40

Gambar 3.7 Rangkaian skematik kontrol input 41

Gambar 3.8 Rangkaian skematik kontrol input baris satu 42

Gambar 3.9 Rangkaian kontrol output papan catur 44

Gambar 3.10 Kontrol output baris pertama 45

Gambar 3.11 Seluruh perangkat keras pada keseluruhan sistem 46

Gambar 3.12 Design PCB deteksi input 47

Gambar 3.13 Logam pada permukaan bawah Bidak 48

Gambar 3.14 Diagram alir perangkat lunak 49

(10)

Gambar 4.10 Pemanduan pergerakan bidak raja 69

(11)

xviii

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Rangkaian Keseluruhan Sistem 76

Lampiran 2 Listing Program Pemandu Permainan Catur 79

(12)

xix

Active chip : Port pengendali pada buffer 74HC244.

Bit : Binary Digit. Data bilangan basis 2, yaitu 0 atau 1.

Byte : Sejumlah data 8 bit.

Buffer : Penghubung dua instrumen yang berbeda kecepatan.

Buffering : Proses buffer.

Bidak : Buah catur.

Bishop : Bidak Peluncur pada catur.

Clock : Pewaktuan.

Castling : Nama lain Rokade.

Chasing : Pembungkus luar pada LED.

Copy semantic : Salah satu fasilitas buffer.

Draw : Seri.

En passant : Gerakan menangkap bidak lawan untuk pion.

GND : Ground.

Gated D : Gerbang D (Data).

Hardware : Perangkat keras.

InputBuffer : Penyangga data masukan.

Interface : Antar muka.

I/O : Input/Output.

Input : Masukan data.

Integer : Bilangan bulat positif.

(13)

Latch : Pengancing atau penahan.

P-N : Sambungan positif dengan negatif pada dioda.

Power Supply : Catu daya.

RAM : Random Access Memory.

ROM : Read Only Memory.

RST : Reset.

Rokade :Pertukaran tempat antara bidak Raja dan Benteng.

RISC : Reduced Instruction Set Computing.

CISC : Complex Instruction Set Computing.

(14)

Software : Perangkat Lunak.

Skak : Keadaan bidak raja yang terancam bidak lain.

Ster : Bidak Ratu pada catur.

System call : Service yang disediakan Sistem Operasi

(15)

1

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Permainan yang sifatnya melatih kemampuan berpikir telah berkembang

hingga saat ini. Baik permainan tradisional atau permainan modern memiliki

karakteristik masing-masing yang disukai oleh para penggemarnya. Salah satu

permainan yang sudah terkenal di banyak negara adalah permainan catur.

Kejuaraan catur diselenggarakan dalam berbagai tingkat usia, yang menandakan

bahwa catur adalah permainan yang digemari oleh segala usia.

Catur umumnya dimainkan secara konvensional yaitu menggunakan papan

catur biasa, lalu pada papan catur tersebut terdapat 32 buah bidak catur berwarna

hitam dan putih. Tiap bidak catur memiliki pola pergerakan yang berbeda-beda

sesuai jenis dan kondisi pada saat bidak berjalan. Hal ini terkadang menjadi

kendala bagi seseorang yang tergolong awam dalam catur.

Pengembangan permainan catur secara digital sudah ada dalam bentuk

aplikasi permainan pada komputer. Pada aplikasi permainan catur tersebut user

akan dipandu untuk dapat menjalankan bidaknya sesuai aturan pola

pergerakannya. Pada saat menunjuk pada salah satu bidak yang akan dijalankan,

beberapa kotak papan akan menyala menandakan bidak tersebut boleh melangkah

ke salah satu kotak yang menyala. Pengambilan keputusan untuk menyalakan

kotak-kotak catur yang dianggap valid tentunya setelah mempertimbangkan

(16)

Selanjutnya dilakukan pengembangan penelitian untuk merancang sebuah

alat yang pengoperasiannya mirip dengan aplikasi permainan catur yang telah

diuraikan di atas, namun tidak lagi berupa aplikasi permainan di komputer, tapi

sudah berupa papan catur yang terintegrasi dengan microcontroller. Sehingga

dalam memainkan catur tidak memerlukan komputer lagi, karena segala

pemrosesan dilakukan oleh microcontroller.

1.2. Perumusan Masalah

Dari masalah yang telah diuraikan di atas, dapat dirumuskan permasalahan

yang dihadapi adalah :

1. Bagaimana membuat rekaman pola dan arah pergerakan tiap bidak catur.

2. Bagaimana menampilkan arah dari tiap bidak catur yang akan dijalankan

dalam permainan.

3. Bagaimana mendeteksi setiap jenis bidak yang akan dipindahkan selama

permainan.

1.3. Pembatasan Masalah

Dalam perancangan dan pembuatan alat ini, terdapat beberapa pembatasan

masalah, antara lain:

1. Pembuatan alat pemandu permainan catur berbasis microcontroller ini

tidak menggunakan kecerdasan buatan, yaitu sistem yang dibangun

tidak memandu pemain untuk menang dalam permainan.

2. Perancangan sistem pemandu permainan catur ini berlaku untuk semua

(17)

3. Terdapat komputer yang hanya berfungsi sebagai downloader program

utama yang akan disimpan dalam sebuah memory yang ada pada

microcontroller.

1.4. Tujuan

Tujuan dari perancangan dan pembuatan perangkat ini adalah sebagai

berikut :

1. Merancang dan membuat alat yang dapat merekam pola dan arah

pergerakan tiap bidak catur.

2. Merancang dan membuat alat yang dapat menampilkan arah dari tiap

bidak yang akan dijalankan dalam permainan catur.

3. Merancang dan membuat alat yang dapat mendeteksi setiap jenis

bidak yang akan dipindahkan selama permainan.

1.5. Kontribusi

Permainan catur digital sebelumnya sudah banyak dirancang dalam bentuk

aplikasi game catur dengan berbagai tingkat kecerdasan. Kelemahan sistem

permainan catur seperti ini mengharuskan penggunanya membawa komputer

ataupun laptop untuk menggunakan aplikasi game catur itu. Tentu saja dari sisi

kepraktisan hal tersebut justru menyulitkan dalam pembelajaran catur. Dalam

penelitian ini kekurangan itu akan dikembangkan menjadi lebih efisien sehingga

tidak memerlukan komputer lagi dalam memainkan aplikasi game catur dan

fungsi komputer ini hanya sebagai downloader dan pembuatan program di

(18)

sedang dalam proses pembelajaran permainan catur. Sistem ini memudahkan

seseorang dalam memainkan catur karena sudah terdapat papan catur dan

microcontroller yang dengan mudah akan memandu seseorang dalam

menjalankan bidak caturnya. Cara kerja alat ini mirip dengan cara kerja aplikasi

game catur yang ada sekarang sehingga pengguna hanya perlu mengangkat bidak

pada papan catur, kemudian secara otomatis pada beberapa kotak papan akan

menyala yang menandakan bidak yang diangkat tersebut dapat menempati salah

satu kotak yang menyala tersebut.

1.6. Sistematika Penulisan

Penulisan tugas akhir ini secara sistematis diatur dan disusun dalam lima

bab yang didalamnya terdapat beberapa sub bab. Secara ringkas uraian materi dari

bab pertama hingga bab terakhir adalah sebagai berikut:

BAB I : Pendahuluan

Pada bab pendahuluan ini dibahas mengenai latar belakang masalah,

perumusan masalah, batasan masalah, tujuan serta sistematika dari penulisan

tugas akhir.

BAB II : Landasan Teori

Pada bab landasan teori ini dijelaskan tentang sejarah catur, pola

pergerakan bidak catur, Arsitektur dari microcontroller ATmega32 yang meliputi

organisasi memori, memori program, memori data, register fungsi khusus,

kemudian Random Access Memory (RAM), sensor input dan LED (Light emitting

(19)

BAB III : Metode Penelitian

Pada bab ini dibahas mengenai perencanaan dan pembuatan perangkat

keras (hardware) dan perangkat lunak (software). Perangkat keras (hardware)

meliputi modul minimum system ATmega32, perangkat input, perangkat output,

rangkaian power supply, dan mekanik papan catur. Sedangkan untuk perangkat

lunaknya (software) menggunakan bahasa Basic.

BAB IV : Pengujian Sistem

Pada bab ini dibahas tentang pengujian sistem baik hardware maupun

software. Pengujian hardware meliputi rangkaian minimum system ATmega32,

perangkat input, dan perangkat output. Sedangkan untuk software dilakukan

secara keseluruhan.

BAB V : Kesimpulan dan Saran

Pada bab kesimpulan dan saran ini merupakan kesimpulan dari hasil

pengujian sistem secara keseluruhan dan saran-saran yang diharapkan dalam

(20)

6

2.1. Sejarah Catur

Permainan di atas papan berisi 8 x 8 petak atau 64 petak ini berasal dari

India sejak 500 Masehi, kemudian menyebar ke Persia dan masyarakat Arab.

Chess atau catur menyebar ke Eropa ketika kekuasaan Islam pada awal abad

pertengahan memasuki Eropa dari selatan Spanyol.

Bentuk buah catur sempat berubah. Awalnya bentuk buah catur mirip

manusia, kini berubah menjadi abstrak. Ketika memasuki Eropa, buah catur

kembali mengambil bentuk menyerupai manusia. Buah-buah catur mewakili

sejumlah golongan pada abad pertengahan yaitu:

1. Buah Pion mewakili budak yang kala itu selalu mengorbankan jiwa dan raga.

2. Buah Benteng mewakili rumah dan tempat berlindung.

3. Buah Kuda mewakili ksatria yang senantiasa melindungi negara.

4. Buah Peluncur mewakili gereja yang menjadi lambang keagamaan di abad

pertengahan.

5. Buah Ratu atau Ster mewakili Ratu yang merupakan wanita paling berkuasa

pada masa itu.

6. Buah Raja mewakili Raja yang merupakan pucuk pimpinan dan menentukan

kalah menang pertarungan.

Catur dimainkan dua orang. Masing-masing pemain memegang buah catur

(21)

pemain yang berhasil men-skak (membuat Raja tidak bisa melangkah kemana

pun) atau mematikan Raja.

Masing-masing buah catur memiliki pola pergerakan yang berbeda. Pion

hanya boleh berjalan satu kotak ke depan, kecuali langkah pertamanya, boleh dua

kotak ke depan. Pion tidak boleh jalan mundur, namun Pion memakan musuhnya

dengan langkah diagonal kiri atau kanan. Benteng berjalan lurus secara vertikal

dan horizontal, sementara Menteri atau Peluncur berjalan maju mundur secara

diagonal sesuai warna petak. Cara jalan Ratu merupakan kombinasi cara jalan

Benteng dan Menteri. Kuda bisa melompati halangan di depannya, asalkan alur

jalannya menyerupai huruf “L” sebanyak 4 kotak. Untuk Raja bisa berjalan ke

segala arah sebanyak satu kotak (Magethi, 2009:12).

2.2. Ketentuan Permainan Catur

Permainan dilangsungkan di atas papan yang terdiri dari 8 kolom dan 8 baris

kotak atau petak berwarna hitam dan putih (terang dan gelap) secara berselang

seling. Permainan dimulai dengan 16 buah pada masing-masing pihak, yang

disusun berbaris secara khusus pada masing-masing sisi papan catur secara

berhadap-hadapan. Satu buah hanya bisa menempati satu petak. Pada bagian

terdepan masing-masing barisan terdapat 8 Pion, diikuti di belakangnya dua

Benteng, dua Kuda (dalam bahasa Inggris disebut knight atau ksatria), dua

Menteri atau Peluncur (dalam bahasa Inggris disebut bishop atau uskup), Ratu

(22)

2.2.1. Pola Pergerakan Bidak Catur

Sebelum bertanding, pecatur memilih warna buah yang akan ia mainkan.

Pemegang buah putih memulai langkah pertama, yang selanjutnya diikuti oleh

pemegang buah hitam secara bergantian. Setiap langkah hanya boleh

menggerakkan satu bidak saja (kecuali untuk Rokade di mana ada dua bidak yang

digerakkan). Bidak dipindahkan ke petak kosong, ataupun yang ditempati oleh

bidak lawan, yang berarti menangkapnya dan memindahkan bidak lawan dari

permainan. Ada pengecualian, yaitu untuk gerakan en passant. Setiap bidak catur

memiliki gerakan yang unik sebagai berikut (Magethi, 2009:32):

1. Raja dapat bergerak satu petak ke segala arah. Raja juga memiliki gerakan

khusus yang disebut Rokade yang turut melibatkan sebuah Benteng.

2. Benteng dapat bergerak sepanjang petak horizontal maupun vertikal, tetapi

tidak dapat melompati bidak lain. Seperti yang telah di atas, Benteng terlibat

dalam gerakan Rokade.

3. Peluncur dapat bergerak sepanjang petak secara diagonal, tetapi tidak dapat

melompati bidak lain.

4. Ratu memiliki gerakan kombinasi dari Benteng dan Peluncur.

5. Kuda memiliki gerakan mirip huruf L, yaitu memanjang dua petak dan

melebar satu petak. Kuda adalah satu-satunya bidak yang dapat melompati

bidak-bidak lain.

6. Pion dapat bergerak maju (arah lawan) satu petak ke petak yang tidak

ditempati. Pada gerakan awal, Pion dapat bergerak maju dua petak. Pion juga

(23)

berada satu petak di diagonal depannya. Pion memiliki dua gerakan khusus,

yaitu gerakan menangkap en passant dan promosi.

2.2.2. Rokade

Rokade (dalam bahasa Inggris, castling) merupakan gerakan khusus dalam

catur di mana Raja bergerak dua petak menuju Benteng di baris pertamanya,

kemudian meletakkan Benteng pada petak terakhir yang dilalui Raja. Persyaratan

Rokade adalah sebagai berikut:

1. Bidak Raja dan Benteng yang akan dilibatkan dalam Rokade harus belum

pernah bergerak.

2. Tidak ada bidak lain di antara Raja dan Benteng.

3. Raja tidak sedang di-skak, dan petak-petak yang dilalui Raja tidak sedang

diserang oleh bidak lawan. Berikut adalah gambar mengenai proses Rokade :

Gambar 2.1. Proses pergerakan Rokade

(Sumber: http://www.chess.com/learn-how-to-play-chess.html).

2.2.3. En passant

Ketika Pion bergerak dua petak maju dan ada Pion lawan yang berada satu

petak dalam baris tujuan, maka Pion lawan dapat menangkap dan menempati

(24)

petak maju). Namun demikian, gerakan ini hanya dapat dilakukan sesaat setelah

gerakan Pion maju dua petak, atau hak lawan untuk melakukan gerakan en

passant ini hilang. Berikut adalah contoh proses en passant berlangsung :

Gambar 2.2. Proses pergerakan en passant

(Sumber: http://www.chess.com/learn-how-to-play-chess.html).

2.2.4. Promosi

Ketika Pion telah maju hingga menempati baris paling akhir, berbarengan

dengan gerakan maju tersebut, Pion dipromosikan dan harus ditukar dengan bidak

berdasarkan keinginan pemain, yaitu Ratu, Benteng, Peluncur, ataupun Kuda

dengan warna yang sama. Pada umumnya, Pion dipromosikan menjadi Ratu.

Tidak ada peraturan yang membatasi bidak yang dipilih sebagai promosi, jadi

dimungkinkan memiliki bidak yang melebihi jumlahnya waktu awal permainan

(semisal, dua Ratu). Berikut adalah gambar dari contoh proses promosi

(25)

Gambar 2.3. Proses pergerakan promosi

(Sumber: http://www.chess.com/learn-how-to-play-chess.html).

2.2.5. Skak

Ketika Raja sedang diserang oleh satu atau lebih bidak lawan, keadaan ini

disebut dengan skak. Pemain yang Rajanya diskak harus menggerakkan Rajanya

supaya tidak terserang. Hal ini dapat dilakukan dengan menangkap bidak lawan

yang menyerang, menutup serangan lawan dengan menempatkan sebuah bidak di

antaranya (apabila yang menyerang Ratu, Benteng, atau Peluncur dan ada petak

kosong di antara Raja dan bidak lawan) atau memindahkan Raja ke petak yang

tidak sedang diserang. Rokade tidak diijinkan apabila Raja sedang diskak

(Magethi, 2009:32).

2.2.6. Akhir Permainan Catur

Tujuan permainan adalah mencapai posisi skak mat. Hal ini bisa terjadi

bila Raja terancam dan tidak bisa menyelamatkan diri ke petak lain. Tidak selalu

permainan berakhir dengan kekalahan, karena bisa terjadi pula peristiwa seri atau

remis di mana kedua belah pihak tidak mampu lagi meneruskan pertandingan

karena tidak bisa mencapai skak mat. Peristiwa remis ini bisa terjadi berdasarkan

kesepakatan maupun tidak. Salah satu contoh remis yang tidak berdasarkan

(26)

lain adalah keadaan pat, dimana yang giliran melangkah tidak bisa melangkahkan

buah apapun termasuk Raja, tetapi tidak dalam keadaan terancam skak. Dalam

pertandingan catur pihak yang menang biasanya mendapatkan nilai 1, yang kalah

0, sedang draw 0.5 (Magethi, 2009:75).

2.3. Microcontroller ATmega32

Microcontroller AVR (Alf and Vegard's Risc processor) standar memiliki

arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian

besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC

(Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC

(Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat

kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATmega, dan

AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah

memori, peripheral, dan fungsinya. Untuk microcontroller AVR yang berukuran

lebih kecil, Anda dapat mencoba ATmega8 atau ATtiny2313 dengan ukuran Flash

Memory 2KB dengan dua input analog (Adrianto, 2008:17).

Selain ATmega32, sangat direkomendasikan untuk mencoba ATmega16 dan

ATmegal28. Selain itu, kuasai juga jenis microcontroller lain produksi Maxim

(Maxim-ic.com) seperti DS80C400 dan MAXQ2000 (Adrianto, 2008:19). Di

dalam microcontroller ATmega32 sudah terdiri dari:

 Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.

 ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.

 Tiga buah Timer/Counter dengan kemampuan pembandingan.

(27)

 131 instruksi andal yang umumnya hanya membutuhkan 1 siklus clock.

Watchdogtimer dengan osilator internal.

 Dua buah timer/counter 8 bit, satu buah timer/counter 16 bit.

 Tegangan operasi 2.7 V – 5.5 V pada ATmega32L.

 Internal SRAM sebesar 1 KB.

 Memori Flash sebesar 32 KB dengan kemampuan Read While Write.

 Unit interupsi internal dan eksternal.

 Port antarmuka SPI.

 EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

 Antarmuka komparator analog.

 Empat channel PWM.

 32 x 8 general purpose register.

 Hampir mencapai 16 MIPS pada Kristal 16 MHz.

 Port USART programmable untuk komunikasi serial.

2.3.1. Konfigurasi PIN

Gambar 2.2 merupakan susunan kaki standar 40 pin DIP microcontroller

AVR ATmega32:

Gambar 2.4. Pin-pin ATmega32

(28)

Berikut penjelasan umum susunan kaki ATmega32 :

 VCC merupakan pin masukan positif catu daya. Setiap peralatan elektronika

digital tentunya butuh sumber catu daya yang umumnya sebesar 5V, itulah

sebabnya di PCB kit microcontroller selalu ada IC regulator 7805.

 GND sebagai pin Ground.

 Port.A (PAO-PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai

pin masukan ADC.

 Port B (PBO-PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu

Tirner/Counter, Komparator analog, dan SPI.

 Port C (PCO-PC7) merupakan pin I/0 dua arah dan pin fungsi khusus, yaitu

TWI, komparator analog, dan Timer Osilator.

 Port D (PDO-PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu

komparator analog, interupsi eksternal dan komunikasi serial.

Reset merupakan pin yang digunakan untuk me-resetmicrocontroller

 XTAL 1 dan XTAL 2 sebagai pin masukan clock ekstemal. Suatu

microcontroller membutuhkan sumber detak (clock) agar dapat mengeksekusi

instruksi yang ada di memori. Semakin tinggi nilai kristalnya, maka semakin

cepat microcontroller tersebut.

 AVCC sebagai pin masukan tegangan untuk ADC.

 AREF sebagai pin masukan tegangan referensi.

2.3.2. Reset

(29)

C 1

Gambar 2.5. Skema rangkaian reset

(Sumber: Nalwan, 2003:56)

Reset dapat dilakukan secara manual maupun otomatis saat power

diaktifkan (Power On Reset). Saat terjadi reset isi dari register akan berubah

sesuai yang ada pada Tabel 2.1 (Nalwan, 2003:58).

Tabel 2.1. Isi Register setelah reset

Register Isi Register

InterruptPriority (IP) XXX00000B

InterruptEnable (IE) 0XX00000B

RegisterTimer 00H

SCON 00H

SBUF 00H

PCON (HMOS) 0XXXXXXXB

(30)

Reset terjadi dengan adanya logika 1 selama minimal 2 cycle pada kaki

RST. Setelah kondisi pin RST kembali low, microcontroller akan mulai

menjalankan program dari alamat 0000H. Kondisi pada internal RAM tidak

terjadi perubahan selama reset.

Gambar 2.6 merupakan gambar rangkaian reset yang bekerja secara

manual atau otomatis saat sumber daya diaktifkan. Saat sumber daya diaktifkan,

maka kapasitor C1 sesuai dengan sifat kapasitor akan terhubung singkat pada saat

itu sehingga rangkaian ekivalennya tampak pada Gambar 2.6A. Arus mengalir

dari VCC langsung ke kaki RST sehingga kaki tersebut berlogika 1. Kemudian

kapasitor terisi hingga tegangan pada kapasitor (VC) yaitu tegangan antara VCC

dan titik antara kapasitor C1 dan resistor R2 mencapai VCC, otomatis tegangan

pada R2 atau tegangan RST akan turun menjadi 0 sehingga kaki RST akan

berlogika 0 (Gambar 2.6B) dan proses reset selesai. Aliran arus dan perubahan

tegangan pada reset otomatis dapat dilihat pada Gambar 2.6.

R2

(31)

Jika saklar S1 ditekan, reset kembali bekerja secara manual, aliran arus

akan mengalir dari VCC melalui R1 menuju kaki RST (Gambar 2.6B). Tegangan

pada kaki RST atau VR2 akan berubah menjadi (Nalwan, 2003:67) :

2

Yaitu 4,95 volt dengan nilai VCC = 5 volt. Sedangkan untuk rangkaian

ekivalen saat saklar S1 ditekan dapat dilihat pada Gambar 2.7 berikut:

R2

Gambar 2.7. Rangkaian ekivalen saat saklar S1 ditekan (Sumber: Nalwan, 2003:72)

Tegangan 4,94 volt pada kaki RST menyebabkan kaki ini berlogika 1

pada saat saklar tersebut ditekan. Saat saklar dilepas, aliran arus dari VCC melalui

R1 akan terhenti dan tegangan pada kaki RST akan menurun menuju nol sehingga

logika pada kaki ini menjadi 0 dan proses reset selesai.

2.4. Light Emitting Diode (LED)

LED adalah singkatan dari Light Emitting Diode, merupakan komponen

yang dapat mengeluarkan emisi cahaya. LED merupakan produk temuan lain

setelah dioda. Strukturnya juga sama dengan dioda, tetapi belakangan ditemukan

(32)

energi panas dan energi cahaya. LED dibuat agar lebih efisien jika mengeluarkan

cahaya. Untuk mendapatkna emisi cahaya pada semikonduktor, doping yang

pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda

menghasilkan warna cahaya yang berbeda pula (Mismail, 2007:112). Berikut

adalah gambar dari simbol dioda LED :

Gambar 2.8. Simbol LED

(Sumber: http://en.wikipedia.org/wiki/Light-emitting_diode)

Dalam memilih LED perlu diperhatikan tegangan kerja, arus maksimum

dan disipasi daya-nya. Pembungkus (chasing) LED dan bentuknya juga

bermacam-macam, ada yang persegi empat, bulat dan lonjong (Mismail,

2007:114).

2.5. Latch 74HC573

Latch merupakan konsep dasar elemen penyimpan dalam sistem digital.

Bentuk latch yang secara praktis penggunaannya luas adalah D-Latch. Rangkaian

D-latch ini memiliki masukan tunggal yaitu D (Data), dan akan menyimpan

masukan D dengan pengendali sinyal Clk (clock). Rangkaian ini dikenal sebagai

(33)

Gambar 2.9. Gated D-Latch

(Sumber: http://en.wikipedia.org/wiki/flip-flop_electronics)

Jika D = 1, maka S = 1 dan R = 0, sehingga akan mengakibatkan state Q

bernilai 1 (Q = 1). Sedangkan jika D = 0, maka S = 0 dan R = 1 yang berakibat

pada state Q bernilai 0 (Q = 0). Perubahan state pada Q akan terjadi jika Clk

bernilai 1, sedangkan saat Clk bernilai 0, Q akan mempertahankan state

terakhirnya. Tabel kebenaran yang menggambarkan cara kerja dari gated D latch

ini adalah sebagai berikut:

Gambar 2.10. Tabel kebenaran D-Latch

(Sumber: http://en.wikipedia.org/wiki/flip-flop_electronics)

74HC573 adalah gerbang semikonduktor berkecepatan tinggi yang

memiliki tipe octal D-latch. IC 74HC573 ini terdiri dari 3 blok yaitu input,

(34)

Gambar 2.11. Diagram function 74HC57

(Sumber: http://en.wikipedia.org/wiki/Latch_electronics)

Berikut adalah logic diagram dari latch 74HC573 :

Gambar 2.12. Logic diagram 74HC573

(Sumber: http://en.wikipedia.org/wiki/Latch_electronics)

Beberapa fitur-fitur pada latch 74HC573 adalah sebagai berikut :

1. Input dan output berada pada posisi berlawanan sehingga

memudahkan dalam desain untuk penggunaannya bersama

microcontroller.

2. Dapat dipergunakan sebagai input juga output pada mikroprosesor dan

(35)

3. Memiliki 3-State output non-inverting untuk aplikasi berorientasi bus.

4. Common 3-state output enable input.

5. Functionally identical to 74HC563; 74HCT563 and 74HC373;

74HCT373.

6. Dilengkapi JEDEC dengan standar nomor 7A.

7. ESD protection:

a. HBMEIA/JESD22-A114-C exceeds 2000V.

b. MMEIA/JESD22-A115-A exceeds 200V.

8. Spefikasi dari -40 °C hingga +85 °C dan dari -40 °C hingga +125 °C.

Berikut adalah gambar dari IC Latch 74HC573 :

Gambar 2.13. IC Latch 74HC573

(Sumber: http://en.wikipedia.org/wiki/Latch_electronics)

2.6. Buffer 74HC244

Buffer adalah proses penampungan data sementara pada memory untuk

keperluan penggunaan selanjutnya, proses bisa berupa digandakan, dipindahkan,

diunduh, dimonitor dan lain sebagainya. Tugas utama dari buffer adalah untuk

keperluan transfer data dari satu tempat ke tempat lain. Buffer adalah sebuah

(36)

perangkat atau antara sebuah perangkat dan sebuah aplikasi. Buffering digunakan

karena tiga alasan, antara lain:

1. Untuk mengatasi perbedaan kecepatan antara produsen dan konsumen dari

sebuah aliran data .

2. Untuk menyesuaikan antara perangkat-perangkat yang mempunyai perbedaan

ukuran transfer data . Perbedaan ukuran transfer data ini sangat umum terjadi

pada jaringan komputer dimana buffer digunakan secara luas untuk

fragmentasi dan pengaturan kembali pesan-pesan. Pada bagian pengiriman,

pesan yang ukurannya besar akan dipecah-pecah menjadi paket-paket kecil

(fragmentasi). Paket-paket ini dikirim melalui jaringan, di ruang penerimaan,

paket-paket kecil tadi diletakkan dalam buffer untuk disatukan kembali.

3. Untuk mendukung copy semantic pada aplikasi M/K. Sebuah contoh akan

menjelaskan arti dari copy semantic. Misalkan sebuah aplikasi mempunyai

buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil

system call write, lalu menyediakan sebuah pointer ke buffer dan sebuah

bilangan bulat (integer) yang menspesifikasikan jumlah byte yang ditulis.

Setelah system call tersebut selesai, dengan copy semantic, versi data yang

ditulis ke disk sama dengan versi data pada saat aplikasi memanggil system

call write , tidak tergantung dengan perubahan apapun yang ada pada buffer.

Cara sederhana sistem operasi dapat menjamin copy semantic adalah untuk

system call write dengan menyalin data aplikasi ke buffer kernel sebelum

mengembalikan kontrol ke aplikasi. Penulisan ke disk dilakukan dari buffer

kernel sehingga perubahan yang terjadi pada buffer aplikasi tidak mempunyai

(37)

yang umum dalam sistem operasi, kecuali overhead yang ada pada clean

semantic. Efek yang sama dapat diperoleh dengan hasil yang lebih efisien

dengan penggunaan yang cermat pada pemetaan memori virtual dan

perlindungan halaman copy-on-write.

74HC244 adalah buffernon-inverting dan memiliki dua active-low enable

(IG dan 2G). Setiap jalur enable berdiri sendiri mengendalikan empat buffer.

CMOS 74HC244 ini tidak memiliki input Schmit trigger. Berikut adalah beberapa

fitur yang dimiliki IC ini :

1. Memiliki delay propagasi : 14 ns.

2. Memiliki 3-State output untuk koneksi bus.

3. Rentang nilai power supply antara 2-6 V.

4. dilengkapi dengan standar JEDEC no. 7A.

5. Spesifikasi dari -40 °C hingga +85 °C dan dari -40 °C hingga +125 °C.

6. ESD protection:

HBM EIA/JESD22-A114-C exceeds 2000 V.

MM EIA/JESD22-A115-A exceeds 200 V.

Gerbang semikonduktor 74HC244 ini memiliki output-drive yang tinggi

sehingga memungkinkan operasi kecepatan tinggi bahkan pada saat digunakan

untuk bus berkapasitas besar. Semua inputan juga terlindungi dari kerusakan

akibat static-discharge dari dioda ke Vcc dan Ground. Berikut adalah gambar dari

(38)

Gambar 2.14. Diagram fungsi 74HC244 (Sumber: http://en.wikipedia.org/wiki/Buffer)

Berikut adalah gambar chip dari buffer 74HC244 :

Gambar 2.15. IC buffer 74HC244 (Sumber: http://en.wikipedia.org/wiki/Buffer)

2.7. Regulator LM7805

Regulator adalah rangkaian regulasi atau pengatur tegangan keluaran dari

sebuah catu daya agar efek dari naik atau turunnya tegangan jala tidak

(39)

Prinsip Kerja IC (integrated circuit) mempunyai kelebihan karena lebih

kompak (praktis) dan umumnya menghasilkan penyetabilan tegangan yang lebih

baik. Fungsi-fungsi seperti pengontrol, sampling, komparator, referensi, dan

proteksi yang tadinya dikerjakan oleh komponen diskrit, sekarang semuanya

dirangkai dan dikemas dalam IC.

LM7805 adalah regulator untuk mendapat tegangan 5 volt. Komponen ini

dilengkapi dengan pembatas arus (current limiter) dan juga pembatas suhu

(thermal shutdown). Komponen ini memiliki tiga pin dan dengan menambah

beberapa komponen saja sudah dapat menjadi rangkaian catu daya yang

ter-regulasi dengan baik. Berikut adalah gambar dari regulator LM7805 :

Gambar 2.16. Regulator LM7805

(Sumber: http://id.wikipedia.org/wiki/Transformator)

Adaptor atau catu daya adalah sumber tegangan DC yang digunakan untuk

memberikan tegangan akan daya kepada berbagai rangkaian elektronika yang

membutuhkan tegangan DC agar dapat beroperasi. Berikut adalah skematik

rangkaian lengkap catu daya menggunakan regulator tiga terminal IC 7805 untuk

(40)

Gambar 2.17. Skematik prinsip kerja IC regulator LM7805

Arus maksimum regulator IC yang dikirim ke beban tergantung pada tiga

faktor, yaitu temperatur, arus beban, dan perbedaan antara input dan output atau

yang disebut dengan diferensial input dan output (Blocher, 2003:134).

2.8. BASCOM-AVR Compiler

BASCOM-AVR adalah program Basic compiler berbasis Windows untuk

microcontroller keluarga AVR. Microcontroller AVR dapat dikelompokkan

menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega,

keluarga AT90CAN, keluarga AT90PWM dan AT89RFxx. BASCOM-AVR

merupakan pemrograman dengan bahasa tingkat tinggi Basic yang dikembangkan

oleh MCS electronic. BASCOM-AVR dapat dijalankan pada sistem operasi

Windows 95, 98, NT, 2000, XP, Vista dan 7. Berikut adalah beberapa keunggulan

BASCOM-AVR (Iswanto, 2008:87) :

a. Basic yang terstruktur dengan label.

b. Pemrograman terstruktur dengan IF-THEN-ELSE-END IF,

DO-LOOP, WHILE-WEND, SELECT- CASE.

(41)

d. Variabel dan label berkapasitas besar hingga 32 karakter.

e. Variabel yang tersedia antara lain : Bit, Byte, Integer, Word, Long,

Single, Double dan String.

f. Memberikan fasilitas untuk variabel Double. Hanya BASCOM-AVR

yang dapat memberikan fasilitas ini dan tidak ditemukan di compiler

AVR yang lainnya. BASCOM juga mampu menampung variabel

Double dalam jumlah besar dengan 8 byte Floating Point.

g. Large set of Trig Floating point functions.

h. Date & Time calculation functions.

i. Program compiler yang dapat berfungsi di semua microprocessors

AVR yang memiliki internalmemory.

j. Sangat kompatibel dengan Microsoft VB / QB.

k. Memiliki perintah khusus untuk LCD-display, chip I2C dan chip

1WIRE, PC Keyboad, matriks Keyboad, input RC5, perangkat lunak

UART, SPI, grafis LCD, IR kirim RC5, RC6 atau kode Sony.

l. TCP/IP dengan W3100A chip.

m. Local variables, user functions, library support.

n. Integrated terminal emulator with download option.

o. Integrated simulator for testing.

p. Integrated ISP programmer (application note AVR910.ASM).

q. Integrated STK200 programmer and STK300 programmer.

r. Editor with statement highlighting.

s. PDF datasheet viewer.

(42)

u. Sangat sesuai untuk pemakaian board berikut :

a. AVR robot controller (ARC 1.1) dari L. Barello.

b. Active Mega8535 Micro Board dari Active Robots.

c. MAVRIC dan MAVRIC-II dari BDMICRO.

v. Special Tcp/Ip library, AT mouse simulator, AT keyboard simulator

and others are available as add on.

2.9. CodeVision AVR

CodeVisionAVR merupakan sebuah cross-compiler C, Integrated

Development Environtment (IDE), dan Automatic Program Generator yang di

desain untuk microcontroller buatan Atmel seri AVR. CodeVisionAVR dapat

dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, XP, Vista dan

7. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa

ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan

beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan

kebutuhan pada sistem embedded (Adrianto, 2008:32).

File object COFF hasil kompilasi dapat digunakan untuk keperluan

debugging pada tingkatan C, dengan pengamatan variabel, menggunakan

debugger Atmel AVR Studio.

IDE mempunyai fasilitas internal berupa software AVR Chip In-System

Programmer yang memungkinkan Anda untuk melakukan transfer program

kedalam chip microcontroller setelah sukses melakukan kompilasi secara

otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel

(43)

Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics

ATCPU/Mega2000 programmers/development boards.

Untuk keperluan debugging sistem embedded, yang menggunakan

komunikasi serial, IDE mempunyai fasilitas internal berupa sebuah terminal.

Selain library standar C, CodeVisionAVR juga mempunyai library tertentu

untuk:

a. Modul LCD alphanumeric Bus I2C dari Philips.

b. Sensor Suhu LM75 dari National Semiconductor.

c. Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan

DS1307 dari Maxim/Dallas Semiconductor.

d. Protokol 1-Wire dari Maxim/Dallas Semiconductor.

e. Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas

Semiconductor.

f. Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor.

g. EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor.

h. SPI.

i. Power Management.

j. Delay.

k. Konversi ke Kode Gray

CodeVisionAVR juga mempunyai Automatic Program Generator

bernama CodeWizardAVR, yang mengijinkan Anda untuk menulis,

dalam hitungan menit, semua instruksi yang diperlukan untuk

membuat fungsi-fungsi berikut:

(44)

2. Identifikasi sumber reset untuk chip.

3. Inisialisasi port input/output.

4. Inisialisasi interupsi eksternal.

5. Inisialisasi Timer/Counter.

6. Inisialisasi Watchdog-Timer.

7. Inisialisasi UART (USART) dan komunikasi serial berbasis

buffer yang digerakkan oleh interupsi.

8. Inisialisasi Pembanding Analog.

Thermometer/Thermostat DS1621 dan Real-Time Clock

PCF8563, PCF8583, DS1302, dan DS1307.

14.Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20.

15.Inisialisasi modul LCD.

2.10 Pemrograman Basic

Basic adalah bahasa pemrograman yang terstruktur. Selain itu bahasa ini

mendukung teknik pemrograman modular atau prosedural yang ditandai dengan

tersedianya fasilitas untuk membuat suatu prosedur atau sub program. Struktur

program Basic diawali dengan bagian pendeklarasian variabel, kemudian bagian

(45)

program dan diakhiri oleh statement END. Jika dibuat contoh terlihat sebagai

adalah untuk mengakhiri program dan kembali ke sistem operasi.

Variabel adalah besaran atau simbol yang digunakan untuk menyimpan

suatu nilai. Basic memiliki aturan atau kententuan untuk penulisan nama variabel

yang akan dideklarasikan, yaitu (Iswanto, 2008:23) :

1. Maksimum panjangnya 40 karakter.

2. Terdiri dari huruf, angka, dan titik, tetapi karakter pertama harus huruf.

3. Tidak boleh menggunakan spasi atau blank di antara karakter-karakter.

4. Tidak boleh ada karakter khusus, kecuali %, !, # dan $ yang harus

diletakkan diakhir nama variabel yang menunjukkan jenis variabelnya.

5. Tidak boleh sama dengan Basic reserved words, yaitu kata-kata yang

sudah menjadi milik Basic untuk tugas tertentu. Reserved word terdiri

dari statement, function, keyword dan meta command.

Tipe data adalah jenis data yang disimpan variabel. Jika dideklarasikan

tanpa menyebutkan tipe datanya Basic menganggap variabel tersebut bertipe

numerik. Tipe data dalam Basic, yaitu (Iswanto, 2008:25) :

1. Integer : bilangan bulat 16-bit antara -32768 s/d. 32767.

(46)

3. Single : floating point 32-bit antara 2.938736 x 10-39 s/d 1.701412 x

1038.

4. Double : floating point 64-bit antara 2.9358745877055719 x 10-39 s/d

1.701411834604692 x 1038.

5. String : untaian kata yang terdiri dari huruf dan angka dengan panjang

(47)

33

BAB III

METODE PENELITIAN

Metode penelitian yang digunakan dalam perancangan perangkat keras

adalah studi kepustakaan berupa data-data literatur dari masing-masing

komponen, informasi dari internet dan konsep-konsep teoritis dari buku-buku

penunjang. Sedangkan dalam perancangan perangkat lunak berdasarkan teori dan

aplikasi dari buku-buku penunjang sehingga dapat dilakukan percobaan langsung

baik pada perangkat keras maupun pada komputer.

Dalam perancangan alat pemandu permainan catur berbasis

microcontroller ini secara garis besar dapat digambarkan seperti blok diagram di

bawah ini :

Gambar 3.1. Blok Diagram Keseluruhan Sistem

Microcontroller Perangkat Input dan Output di

Papan Catur

(48)

Dari Gambar 3.1. dapat dilihat bahwa sistem secara keseluruhan terbagi

menjadi empat bagian yaitu Microcontroller, Latch 74HC573, Perangkat input

dan output papan catur, serta Buffer 74HC244.

Buffer 74HC244 berfungsi untuk membaca data tiap baris dari deteksi

letak bidak pada papan catur. Microcontroller berfungsi sebagai pengatur jalan

dari bidak pada papan catur, dalam microcontroller tersebut memuat

program-program untuk menentukan pergerakan bidak selanjutnya. Pergerakan bidak pion

yang valid ditandai dengan menyalanya LED pada papan catur. Latch 74HC573

untuk mengatur nyala dari LED di papan catur agar sesuai seperti yang

dimaksudkan program pada microcontroller.

3.1. Perancangan Perangkat Keras

Perangkat keras merupakan rangkaian elektronik yang digunakan sebagai

pemroses. Rangkaian-rangkaian berikut terdiri dari rangkaian pemroses (Minimum

System ATmega32), rangkaian input berupa sakelar PCB (Printed circuit board)

dan Buffer 74HC244, rangkaian output berupa Latch 75HC573 dan LED.

Pada Minimum system ATmega32 terdapat beberapa rangkaian

pendukung yaitu rangkaian reset dan rangkaian oscillator. Pada rangkaian reset

menggunakan manual reset. Pada rangkaian oscillator menggunakan komponen

kristal 11.0592 MHz sebagai clk (clock).

Rangkaian input pada perangkat ini terdiri dari Buffer 74HC244 sebagai

pengendali data input dari papan catur. Kemudian sensor input berupa desain pada

papan catur yang cara kerjanya menyerupai sakelar yang dapat mendeteksi

(49)

Rangkaian output pada perangkat ini terdiri dari Latch 74HC573 sebagai

penyangga data output untuk menyalakan LED pada papan catur. Sensor output

berupa LED tiga milimeter berwarna merah yang dapat menyala sebagai tanda

memandu pergerakan bidak catur.

3.1.1. Rangkaian Microcontroller

Pada proyek akhir ini dibuat piranti pengendali menggunakan

Microcontroller keluaran AVR, yaitu ATmega32. Untuk mengaktifkan atau

menjalankan microcontroller ini diperlukan rangkaian minimum system.

Rangkaian minimum system tersebut terdiri rangkaian reset, rangkaian oscillator,

rangkaian power supply dan rangkaian sistem microcontroller.

A. Rangkaian minimum system microcontroller

Untuk menjalankan microcontroller dibutuhkan sebuah rangkaian

minimum agar microcontroller tersebut dapat bekerja dengan baik. Rangkaian

minimummicrocontroller terdiri dari rangkaian reset dan rangkaian oscillator.

Reset pada microcontroler ATmega32 terjadi dengan adanya logika high

“1” selama dua cycle pada kaki RST pada microcontroller ATmega32. Setelah

kondisi pin RST kembali low, maka microcontroller akan menjalankan program

dari alamat 0000H. Dalam hal ini reset yang digunakan adalah manual reset.

Pada pin VCC diberi masukan tegangan operasi berkisar antara 4,5 volt

sampai dengan 5,5 volt. Pin RST mendapat input dari manual reset. Rangkaian

(50)

Gambar 3.2. Rangkaian Minimum System

Pin XTAL1 dan XTAL2 merupakan pin oscillator bagi microcontroller

ATmega32. Pin XTAL1 befungsi sebagai input dan XTAL2 sebagai output

oscillator. Oscillator ini bisa berasal dari kristal atau dari keramik resonator.

Seperti yang sudah terlihat di atas, pin XTAL1 dan XTAL2 dihubungkan dengan

komponen XTAL sebesar 11.0592 MHz. Pada proyek akhir ini dibuat rangkaian

oscillator internal yang terbuat dari kristal. Nilai C1 dan C2 masing-masing 33

pF.

B. Perancangan Interface I/O

Rangkaian I/O dari microcontroller mempunyai kontrol direksi yang tiap

bitnya dapat dikonfigurasikan secara individual, maka dalam perancangan I/O

yang digunakan ada yang berupa operasi port ada pula yang dikonfigurasi tiap bit

I/O. Berikut ini akan diberikan konfigurasi dari I/O microcontroller tiap bit yang

(51)

1. Port A

Port A digunakan untuk output Latch 74HC573.

2. Port B

Port B digunakan untukoutput kontrol LED.

3. Port C

Port C digunakan untuk input Buffer 74HC244.

4. Port D

Port D digunakan untuk kontrol input sakelar.

Untuk perancangan interface input dan output pada microcontroller yang

lebih mendetil dapat dilihat pada tabel 3.1 dibawah :

(52)

PortD.0 Kontrol chip select Buffer 1 PortD.1 Kontrol chip select Buffer 2 PortD.2 Kontrol chip select Buffer 3 PortD.3 Kontrol chip select Buffer 4 PortD.4 Kontrol chip select Buffer 5 PortD.5 Kontrol chip select Buffer 6 PortD.6 Kontrol chip select Buffer 7 PortD.7 Kontrol chip select Buffer 8

Pada pemrograman bahasa Basic menggunakan compiler Bascom AVR,

inisialisasi Port pada microcontroller cukup dengan beberapa baris pernyataan

seperti dibawah ini :

komputer ke dalam memory program internal microcontroller, penulis

menggunakan kabel downloader dengan interface DB25 yang dihubungkan pada

port LPT1 pada komputer. Konfigurasi kabel downloader terdapat pada Gambar

(53)

Gambar 3.3. Rangkaian kabel downloader pada port LPT

Sedangkan untuk konektor downloader pada microcontroller ATmega32

dapat dilihat pada Gambar 3.4 berikut:

R12

Gambar 3.4. Konektor Downloader pada Microcontroller

ATmega32

D. Rangkaian Reset

Reset pada microcontroler ATmega32 terjadi dengan adanya logika high

“1” selama dua cycle pada kaki RST pada microcontroller ATmega32. Setelah

(54)

dari alamat 0000H. Dalam hal ini reset yang digunakan adalah manual reset.

Rangkaian reset dapat dilihat pada Gambar 3.5 berikut :

Gambar 3.5. Rangkaian Reset

E. Rangkaian Oscillator

Pin XTAL1 dan XTAL2 merupakan pin oscillator bagi microcontroller

ATmega32. Pin XTAL1 befungsi sebagai input dan XTAL2 sebagai output

oscillator. Oscillator ini bisa berasal dari kristal atau dari keramik resonator.

Rangkaian oscillator dapat dilihat pada Gambar 3.6 berikut:

Gambar 3.6. Rangkaian Oscillator

Pada proyek akhir ini dibuat rangkaian oscillatorinternal yang terbuat dari

(55)

3.1.2. Rangkaian Input

Rangkaian input hal ini berfungsi sebagai pendeteksi keberadaan bidak

dan posisi bidak pada saat ini. Rangkaian elektronika untuk perangkat input terdiri

dari Buffer 74HC244 dan serangkaian desain PCB (printed circuit board) yang

menyerupai sakelar. Rangkaian desain PCB yang berfungsi sebagai pendeteksi

keberadaan bidak catur akan dijelaskan lebih detil pada perancangan mekanik di

sub-bab selanjutnya. Berikut adalah skematik dari rangkaian kontrol input yang

terdiri dari sakelar dan Buffer 74HC244 seperti pada gambar 3.7 ini :

(56)

Skematik di atas terdiri dari delapan Buffer 74HC244. Satu Buffer

digunakan untuk mengontrol input dari satu baris sehingga masing-masing baris

memiliki satu Buffer 74HC244. Berikut adalah gambar dari kontrol input baris

pertama pada rangkaian input.

Gambar 3.8. Rangkaian skematik kontrol input baris satu

Gambar di atas adalah detil dari gambar 3.7. Pada gambar 3.8 ini terdapat

satu Buffer 74HC244 untuk kontrol baris pertama begitu juga seterusnya hingga

baris kedelapan. Buffer 74HC244 dalam hal ini berfungsi untuk membaca perbaris

data bidak yang diangkat. Buffer ini berguna untuk membaca delapan bit pada

baris tersebut selama chip select 74HC244 ini diaktifkan. Namun, jika chip select

tidak diaktifkan data pada baris tersebut akan mengambang atau tidak terdeteksi 1

maupun 0. Dalam project tugas akhir ini, kotak catur yang terdeteksi keberadaan

bidak pada kotak tersebut akan bernilai 0, begitu juga sebaliknya saat ada bidak

akan bernilai 1.

Rangkaian input ini menggunakan 2 port dari microcontroller yaitu port C

dan port D. Port D digunakan untuk mengambil 8 bit data dari tiap-tiap Buffer

74HC244, sedangkan port C digunakan untuk mengendalikan chip select dari tiap

(57)

pengambilan data, juga untuk mengatasi keterbatasan port input dan output pada

microcontroller, karena satu chip Buffer dapat menangani satu baris papan catur

atau 8 input sekaligus.

3.1.3. Rangkaian Output

Rangkaian output proyek akhir ini berfungsi sebagai pengatur nyala LED

(Light Emitting Diode) pada papan catur sebagai penanda langkah valid bidak

yang diangkat saat itu. Rangkaian elektronika untuk output terdiri dari Latch

74HC573 dan LED (Light Emitting Diode) yang terletak pada PCB papan catur.

LED pada papan catur akan menyala sesuai perintah pada program yang ada pada

microcontroller. Namun untuk memudahkan dan meminimalisir penggunaan pin

output pada microcontroller penulis menggunakan Latch 74HC573 sebagai

(58)

Gambar 3.9. Rangkaian kontrol output papan catur

Skematik di atas terdiri dari delapan Latch 74HC573. Satu Latch

digunakan untuk mengontrol output dari satu baris sehingga masing-masing baris

memiliki satu Latch 74HC573. Berikut adalah gambar dari kontrol output baris

(59)

Gambar 3.10. Kontrol output baris pertama

Gambar 3.10 di atas adalah kontrol output baris pertama sebagai detil dari

gambar 3.9 di halaman sebelumnya. Pada kontrol output baris pertama ini terdapat

satu Latch 74HC573 sebagai penahan data yang dikirim dari microcontroller

begitu juga seterusnya untuk baris berikutnya hingga baris kedelapan. Prinsip

kerja dari Latch 74HC573 ini adalah mempertahankan data output yang diterima

dari microcontroller untuk menyalakan LED pada papan catur selama satu clock

yang diberikan pada Latch baris masing-masing. Untuk mengubah data pada baris

yang diinginkan cukup dengan memberikan satu clock berikutnya pada Latch

yang sesuai.

Rangkaian output ini menggunakan 2 port dari microcontroller yaitu port

A dan port B. Port A digunakan untuk memberikan 8 bit data ke tiap-tiap Latch

74HC573, sedangkan port B digunakan untuk mengatur clock dari tiap Latch.

Kemudian pada perancangan hardware pada keseluruhan sistem dapat

(60)

Gambar 3.11. Seluruh perangkat keras pada keseluruhan sistem

Pada gambar di atas, terdapat tiga bagian yaitu bagian papan catur, control

board, dan juga power supply board. Pada bagian papan catur terdapat LED

sebagai output dan sakelar PCB sebagai input. Pada bagian controlboard terdapat

Latch 74HC573 dan Buffer 74HC244 yang tergabung dengan minimum system

ATmega32. Kemudian board terakhir terdapat rangkaian power supply.

3.2. Perancangan Mekanik

Untuk perancangan mekanik, sebisa mungkin untuk merancang papan

catur yang bisa mendeteksi keberadaan bidak catur pada tiap kotak papan catur

tersebut. Untuk merancang mekanik yang dapat memenuhi kriteria tersebut, Papan

catur dan bidak catur harus berfungsi seperti sakelar dimana pada saat ada bidak

catur pada kotak, maka kotak mengirim data kepada Buffer 74HC244 untuk

diteruskan menuju microcontroller. Selain sebagai pendeteksi keberadaan bidak

catur, papan catur juga harus dilengkapi indikator di setiap kotak papan catur.

Indikator ini berfungsi sebagai penanda bahwa bidak yang diangkat pada saat itu

(61)

Sensor yang digunakan sebagai pendeteksi buah catur yang sedang

dijalankan pada papan catur adalah serangkaian desain PCB yang menyerupai

sakelar. Masing-masing petak pada papan catur terdapat sepasang pelat tembaga

PCB, dimana pemasangannya menyerupai keypad yang sama-sama menggunakan

metode scanning sehingga untuk mendapatkan 64 petak dibutuhkan 8 baris dan 8

kolom. Rangkaian input pada papan catur ditunjukkan pada Gambar 3.12 :

Gambar 3.12. Design PCB deteksi input

Pada desain papan catur di atas terdapat indikator berupa LED (light

emtting diode) berukuran 3 milimeter sebagai penanda valid atau tidaknya sebuah

bidak menempati suatu kotak pada papan catur. Selain desain sakelar pada papan

PCB ini, juga ada perangkat pendukung yaitu logam yang diletakkan dibawah

permukaan masing-masing buah catur. Hal ini berfungsi sebagai deteksi letak

bidak disaat logam pada bidak catur menyentuh salah satu kotak pada papan PCB

maka dua pelat tembaga pada PCB akan tersambung menyerupai cara kerja

sakelar. Berikut adalah gambar dari logam yang diletakkan pada permukaan

(62)

Gambar 3.13. Logam pada permukaan bawah Bidak

Untuk logam yang digunakan pada permukaan bawah bidak adalah sebuah

mur dan logam. Penggunaan logam ini digunakan sebagai konduktor pada sistem

sakelar sebagai input deteksi bidak.

3.3. Perancangan Perangkat Lunak

Perangkat lunak pada microcontroller bertujuan untuk memudahkan user

dalam bermain catur. Seluruh perangkat lunak pada sistem pemandu permainan

catur ini menggunakan memory pada microcontroller. Perangkat lunak pada

microcontroller ini akan menampilkan arah pola pergerakan bidak yang

dijalankan user. Diagram alir perangkat lunak dapat dilihat pada Gambar 3.14

(63)

Gambar 3.14. Diagram Alir Perangkat Lunak

Terdapat empat proses inti pada keseluruhan sistem ini yaitu proses

inisialisasi, proses pendeteksian bidak yang diangkat, proses menyalakan LED,

dan terakhir adalah proses pendeteksi bidak diletakkan. Proses yang pertama

adalah inisialisasi bidak pada awal permainan, inisialisasi ini bertujuan untuk

memberi identitas pada 16 bidak putih yang terletak di baris pertama dan kedua.

(64)

pada papan catur. Pendeteksian bidak ini bertanggung jawab dalam pengambilan

keputusan saat menyalakan LED pemandu pola pergerakan bidak catur yang

sedang diangkat. Diagram alir untuk proses pendeteksian awal bidak terlihat pada

gambar dibawah ini:

Gambar 3.15. Diagram alir inisialisasi awal

Pada proses inisialisasi ini bidak yang terdeteksi menempati satu kotak

papan catur akan menyalakan LED pada kotak tersebut sebagai tanda konfirmasi

bidak tersebut telah diberi identitas. Setelah 16 bidak tersebut telah lengkap

diinisialisasi, proses selanjutnya adalah menunggu salah satu bidak terangkat.

(65)

yang terangkat, proses pendeteksian jenis bidak yang diangkat berjalan. Proses

pembacaan jenis bidak ini akan memutuskan jenis bidak yang diangkat tersebut

adalah bidak Raja, Menteri, Peluncur, Kuda, Benteng, ataupun Pion. Gambar

berikut adalah diagram alir dari proses pendeteksian bidak:

(66)

Setelah diketahui jenis bidak yang terangkat, proses berikutnya adalah

menjalankan subrutin sesuai jenis bidak yang telah dideteksi tersebut. Pada

subrutin ini dilakukan pengolahan data di variabel yang menyimpan informasi

posisi bidak tersebut dan menghasilkan nyala LED sesuai pola pergerakan bidak

yang diangkat. Berikut diagram alir proses menyalakan LED pada papan catur:

Gambar 3.17. Diagram alir proses menyalakan LED

Pada proses subrutin masing-masing jenis bidak, perangkat pemandu

permainan catur akan menampilkan arah pola pergerakan sesuai bidak yang

(67)

menunggu bidak yang terangkat tadi menempati salah satu kotak yang menyala

pada papan catur, kondisi ini berulang hingga bidak diletakkan dengan baik pada

salah satu kotak tersebut. Gambar berikut adalah diagram alir proses pendeteksian

bidak yang diletakkan:

Gambar 3.18. Diagram alir proses bidak diletakkan

Setelah bidak menempati salah satu kotak yang menyala, semua lampu

LED dipadamkan kecuali LED pada kotak yang ditempati. Nyala LED pada kotak

yang ditempati menyala sedikit lebih lama dari LED pada kotak yang lainnya

sebagai tanda konfirmasi bahwa bidak tersebut telah menempati posisi yang baru.

Setelah proses ini selesai perangkat pemanduan permainan catur akan kembali

(68)

54

Pengujian sistem yang dilakukan penulis merupakan pengujian terhadap

perangkat keras dan perangkat lunak dari sistem secara keseluruhan yang telah

selesai dibuat.

4.1. Pengujian Minimum System 4.1.1. Tujuan

Pengujian terhadap minimum system dilakukan untuk menguji kinerja dari

rangkaian minimum system dan microcontroller ATmega32 yang digunakan dapat

bekerja dengan baik. Pengujian minimum system ini merupakan bagian vital yang

menentukan kinerja sistem pemandu permainan catur secara keseluruhan. Sistem

berjalan baik apabila minimum system ATmega32 dapat bekerja dengan baik

sehingga dapat mengendalikan sistem pemandu permainan catur sesuai program

yang telah dibuat.

4.1.2. Alat yang digunakan

1. Rangkaian minimum system ATmega32.

2. PC komputer.

3. Kabel downloader.

(69)

4.1.3. Prosedur pengujian

1. Aktifkan power supply dan hubungkan dengan minimum system selanjutnya

aktifkan PC komputer. Jalankan program CodeVisionAVR. Sambungkan

minimum system dengan kabel downloader pada port parallel.

2. Jalankan menu Chip Signature programmer pada CodeVisionAVR .

4.1.4. Hasil pengujian

Tampilan dari program chip signature pada CodeVisionAVR dapat di

lihat pada Gambar 4.1.

Gambar 4.1. Tampilan Chip Signature

Dari percobaan di atas apabila menu chip signature programmer berhasil

dikerjakan maka minimum system ATmega32 inidapat dikatakan bekerja dengan

baik. Pada Gambar 4.1. menunjukan bahwa minimum system berhasil dikenali dan

(70)

4.2. Pengujian Perangkat Input 4.2.1. Tujuan

Pengujian terhadap perangkat input dilakukan untuk menguji keakuratan

perangkat input yang ada pada papan catur untuk mendeteksi keberadaan bidak

catur. Sistem pemanduan permainan catur ini memerlukan data inputan dari papan

catur dan mengolah data tersebut menggunakan microcontroller. Perangkat input

dapat dikatakan berjalan dengan baik jika dapat mendeteksi keberadaan bidak di

tiap-tiap kotak pada papan catur.

4.2.2. Alat yang digunakan

1. Perangkat pemandu permainan catur.

2. PC komputer.

dan minimum system terhubung dengan baik. Kemudian hubungkan perangkat

dengan power supply.

2. Pastikan perangkat pemandu permainan catur telah menyala dengan baik.

Kemudian download program pengujian perangkat input di bawah ini ke

dalam microcontroller :

$regfile = "m32def.dat" $crystal = 11059200

(71)

K_inpbaris2 Alias Portd.1

microcontroller pada saat ada bidak dan tidak ada bidak pada tiap kotak papan

catur.

4.2.4. Hasil pengujian

Pengukuran tegangan dilakukan pada masing-masing kotak di papan catur,

(72)

Gambar 4.2. Inisialisasi tiap kotak pada papan catur

Pengukuran dimulai dari baris 1 hingga baris 8 dan tiap baris dimulai dari

A hingga H. Hasil pengukuran tegangan disajikan pada tabel berikut :

Gambar

Gambar 2.6. Aliran arus dan perubahan tegangan pada reset otomatis (Sumber: Nalwan, 2003:62)
Gambar 2.7. Rangkaian ekivalen saat saklar S1 ditekan
Gambar 2.8.  Simbol LED
Gambar 2.9. Gated D(Sumber: http://en.wikipedia.org/wiki/flip-flop_electronics-Latch )
+7

Referensi

Dokumen terkait

perangkat lunak untuk pengembangan dan data-data tentang model pembelajaran hadis itu sendiri. b) Pemeriksaan kelengkapan data yang digunakan. Tahap ini akan melakukan

bagi pendidik digunakan untuk menulis materi pada layar sabak digital sebagai pengganti papan tulis sehingga pendidik tidak perlu lagi ketergantungan menulis di

Sistem menampilkan artikel yang dipiih oleh pemain disertai dengan form komentar, tombol Gambar c.92 Output yang diharapkan pada class Mission_Answer_Test. 1/1 test

Bagaimana membangun dan merealisasikan perangkat lunak androIslam pada platform Android yang dapat digunakan di berbagai tempat sebagai penunjuk arah kiblat, pengingat

Desain tampilan menu aplikasi mobile tour dapat dilihat pada Gambar 3 berikut ini :.

membangun perangkat lunak pada perangkat mobile android. 2) Perangkat lunak pembelajaran tata tertib lalu lintas berbasis android dapat digunakan seluruh orang yang

Diagram alir dari alat pemandu tuna netra menggunakan sensor ultrasonik digunakan sebagai pedoman langkah – langkah yang akan dilakukan dalam pembuatan perangkat

Pembuatan hardware Pembuatan perangkat keras pada alat pemandu tuna netra menggunakan sensor ultrasonik berbasis mikrokontroler arduino yaitu terdiri dari 4 bagian yaitu perancangan