54
BAB 3 PERANCANGAN SISTEM XIANG QI 3.1.
Gambaran Umum Sistem Sistem pada xiang qi ini akan mencatat setiap pergerakan langkah dari bidak yang dijalankan baik pada player 1 maupun player 2. Setiap pergerakan langkah bidak catur akan dicatat oleh mikrokontroller dan akan dikirimkan ke PC yang kemudian disimpan dalam database. Data-data ini akan diolah oleh PC untuk ditampilkan ke monitor atau layar projector dalam bentuk tampilan papan catur Xiang Qi yang mengikuti pergerakan bidak catur pada pertandingan sesungguhnya. Sistem melakukan
pencatatan,
pengiriman
data pergerakan
dan
menampilkan waktu bermain pada player 1 maupun player 2 ketika pertandingan berlangsung. Dimana waktu bermain masing-masing pemain menurut aturan internasional adalah 60 menit untuk setiap pemain. Penunjuk waktu ini akan berjalan bergantian antara player 1 dan player 2. Pada saat waktu player 1 berjalan maka waktu di player 2 akan berhenti, begitu pula sebaliknya. Pada saat player 1 selesai menjalankan gilirannya maka player 1 wajib menekan tombol dimana tombol tersebut akan memberhentikan waktu player 1 dan secara otomatis, waktu player 2 akan berjalan. Player 2 wajib menekan tombol setelah selesai gilirannya untuk memberhentikan waktunya dan akan menyebabkan waktu player 1 akan berjalan dan waktu player 2 akan berhenti. Waktu pertandingan pada sistem ini berjalan mundur dari 60:00 menuju 00:00. Pada sistem terdapat tambahan buzzer pada sistem ini sebagai bunyi untuk
55
menandakan salah giliran, board tidak tersinkronisasi dengan tampilan di komputer, adanya pemain yang belum melakukan pergerakan namun sudah menekan tombol atau tidak menaruh bidak kembali ketika sudah mengangkatnya pada saat pertandingan. Pada board Xiang Qi, terdapat 90 buah reed switch yang membentuk pola matriks 9x10. Dengan menggunakan reed switch ini maka setiap titik peletakan bidak catur bisa terdeteksi. Bidak catur yang digunakan harus terdapat magnet karena reed switch itu sendiri bekerja atas ada tidaknya medan magnet. Setiap pergerakan langkah bidak pemain akan dicatat oleh komputer pada database dan ditampilkan lewat LCD projector. Pengiriman data pergerakan langkah bidak dikirim ke komputer melalui komunikasi serial. Karena pada satu tournament bisa lebih dari 1 pertandingan atau banyak papan catur maka penulis menggunakan komunikasi serial dengan metode RS485. Apa yang ditampilkan pada layar monitor berlangsung realtime karena PC terus melakukan polling kepada sistem papan catur. Apabila ada langkah bidak pemain yang berpindah atau memakan bidak musuh diikuti dengan penekanan tombol maka tampilan catur pada layar monitor akan menyesuaikan dengan apa yang ada di pertandingan saat itu juga. Aplikasi yang menampilkan board catur menggunakan Adobe Flash Player oleh karena itu program ini bisa disaksikan secara online pula. Jadi penonton di manapun berada ketika tersambung dengan internet bisa menyaksikan pertandingan yang sedang dilaksanakan dengan menggunakan sistem papan catur ini dengan cara mengunjungi alamat hosting dari program tersebut.
56
Berikut ini adalah blok diagram sistem pencatatan dan penampilan pada xiang qi ditunjukkan pada gambar 3.1
Gambar 3.1 Blok Diagram sistem •
M ikrokontroller berfungsi untuk mencatat data dari board Xiang Qi, mengirim data ke PC, mengatur tampilan waktu, dan buzzer.
•
M odul Scanning berfungsi untuk mengamati semua perpindahan bidak catur pada Board Xiang Qi.
•
Board Xiang Qi akan memberikan data kepada mikrokontroller yang mendeteksi ada tidaknya bidak pada papan catur dengan bantuan reed switch.
•
Penunjuk Waktu timer berfungsi untuk menunjukkan waktu saat pertandingan berlangsung bagi kedua pemain.
57
•
Buzzer berfungsi untuk mengeluarkan bunyi ketika terdapat kondisi yang tidak diinginkan (error).
•
Database berfungsi untuk menyimpan langkah-langkah bidak dari semua board yang ada oleh PC.
•
M odul serial berguna untuk komunikasi baik dari / ke mikrokontroller dengan PC. RS232 digunakan ketika hanya terdapat 1 board saja dalam 1 pertandingan. Sedangkan RS485 dipakai apabila ingin menyimpan atau menampilkan pertandingan lebih dari 1 papan catur.
•
PC berguna untuk memproses data yang dikirim modul serial untuk disimpan dalam database dan menampilkan tampilan yang sesuai dengan board catur pertandingan pada projector.
•
Projector berfungsi untuk menampilkan
pertandingan catur sesuai
dengan yang diminta oleh PC. Blok diagram menjelaskan gambaran sistem secara keseluruhan namun setiap blok diagram belum tentu termasuk ke dalam perancangan perangkat kerasnya. 3.2.
Perancangan Perangkat Keras Untuk perancangan sistem ini dibagi menjadi beberapa rangkaian yaitu: 1. Rangkaian Kontroller. 2. Rangakian M odul Scanning. 3. Rangkaian M atriks Sensor M agnet. 4. Rangkaian M odul Serial.
58
5. Rangkaian Penunjuk Waktu. 6. Rangkaian Tombol Ganti Pemain dan reset. 7. Rangkaian Regulator. 8. Rangkaian Buzzer. 9. Rangkaian Konverter USB ke RS-485. 3.2.1 Perancangan Rangkaian Kontroller GND VCC
1
2 3 4 5 6 7 8 9
R4 Res1 1K
R1 RPack 1K
PORTC.0 PORTC.1 PORTC.2 PORTC.3 PORTC.4 PORTC.5 PORTC.6 PORTD.7
2 3 4 5 6 7 8 9
R3 RPack 1K
PORTA.0 PORTA.1 PORTA.2 PORTA.3 PORTA.4 PORTA.5 PORTA.6 PORTA.7
PORTB.7 PORTB.6 PORTB.5 PORTB.4
Reset
2 3 4 5 6 7 8 9
R2 RPack 1K
PORTC.7
1
1
VCC
U6 1 2 3 4 5 6 7 8
CLK_board RST _board BUZ ZER MR_ SEV DS_ SEV STO_SEV CLK_SEV RX TX INT 0 INT 1 TRANS CNTRL
Cap 22p F C8
1
GND
2
Rese t C7
14 15 16 17 18 19 20 21
PB0 (XCK/T0) PB1 (T1 ) PB2 (AI N0/INT2) PB3 (AI N1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
9
RESET
12 13
XTAL2 XTAL1
Y1 XTal
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
40 39 38 37 36 35 34 33
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
22 23 24 25 26 27 28 29
VCC AVCC AREF
10 30 32
GND GND
31 11
DATA XIANG QI 1 DATA XIANG QI 2 DATA XIANG QI 3 DATA XIANG QI 4 DATA XIANG QI 5 DATA XIANG QI 6 DATA XIANG QI 7 DATA XIANG QI 8 S2 1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9 SW-DIP8 GND DATA XIANG QI 9
VCC GND
ATMega8 535-16PI Cap 22p F
Gambar 3.2 Rangkaian Kontroller Pada rangkaian diatas digunakan mikrokontroller ATM ega8535 (U1) sebagai pengendali dari komponen-komponen lainnya. Pada port A.0 sampai A.7 dan Pin C.0 bertuliskan label data xiang qi 1 hingga
59
label data xiang qi 9 dimana label ini terhubung dengan rangkaian board reed switch untuk menerima data berupa posisi bidaknya. Label data xiang qi 1 hingga data xiang qi 9 ini juga dihubungkan dengan resistor pull down sebesar 1K (R4 dan R9). Resistor pull down disini digunakan untuk agar data yang diterima benar logika ‘1’ ataupun ‘0’. Pada port B.0 dan PB.1 merupakan label CLK_board dan RST_board terhubung pada IC CD4017(U3) yang mengatur scanning pada rangkaian board reed switch. Pada PB.2 dinamakan label INT2 terhubung dengan push button pada rangkaian interrupt 2. Pada PB.3 merupakan pin yang mengatur bunyi tidak nya buzzer. Sedangkan pada PB.4 sampai PB.7 merupakan pin yang mengatur jalannya seven segment sehingga pin pin ini terhubung dengan rangkaian seven segment. PB5 – PB7 terhubung ke sebuah R-pack sebesar 1K (R17). R-pack disini digunakan untuk mendrive 8 IC 74HC595. Pada PC.0 hingga PC.6 bertuliskan label id1 hingga id7. Dan PD.7 sebagai label id8. Dari id1 hingga id8 terhubung dengan DIP Switch (S6) yang di pull-up dengan bantuan RPACK(R50). Untuk PD.0, PD.1, dan PD.6 adalah pin yang mengatur komunikasi serial yaitu RX, TX, dan Transmission Control yang terhubung ke rangkaian komunikasi serial. Pada PD.2 dan PD.3 terhubung ke rangkaian interrupt yang berguna untuk menginterupsi program pada mikrokontroller. Pada sistem kami interrupt 0 dan interrupt 1 digunkan untuk tombol ganti pemain.
60
Kristal yang digunakan pada rangkaian kontroller ini adalah kristal dengan frekuensi 11.0592M Hz. Dipararel ke pin XTAL2 dan pin XTAL2 serta memasang 2 buah kapasitor senilai 22pF yang di hubungkan masing-masing nya ke ground. Untuk download program yang ada pada komputer ke dalam microcontroller digunakan header 3x2 untuk burn program dari pin M ISO, M OSI, SCK, RST, GND, dan VCC A VR. Standar burner A VR ini mengikuti standar STK500. 3.2.2 Perancangan Rangkaian Scanning. U2 GND
15 14 13
PORTB. 1 PORTB. 2
RST CLK CKEN
GND
8
GND
2 3 4 5 6 7 8 9
VCC
U3 VDD CO 0 1 2 3 4 5 6 7 8 9
16 12 3 2 4 7 10 1 5 6 9 11
1 19
GND
10
OE1 OE2
VDD
A1 A2 A3 A4 A5 A6 A7 A8
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
20 18 17 16 15 14 13 12 11
VCC scan1 scan2
GND MC74HC541N U5
GND
1 19 2 3 4 5 6 7 8 9
CD4017BMJ GND GND
10
OE1 OE2
VDD
A1 A2 A3 A4 A5 A6 A7 A8
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
20 18 17 16 15 14 13 12 11
GND MC74HC541N
Gambar 3.3 Rangkaian Shift Register
VCC scan3 scan4 scan5 scan6 scan7 scan8 scan9 scan10
61
Untuk scanning board reed switch dibutuhkan IC tambahan yaitu dengan menggunakan 1 buah IC CD4017 (U3) dan 2 buah IC 74HC541(U1 dan U4). CD4017 ini dikenal sebagai IC Johnson counter yaitu decoder counter yang digunakan untuk scanning board reed switch dengan konsep sama seperti shift register namun yang bergerak hanya 1 bit bernilai HIGH sedangkan bit outputnya lainnya bernilai LOW. Pada IC CD4017 terdapat pin RST dan pin CLK. Ketika pin RST pada IC aktif maka output yang dihasilkan adalah pin di kaki 3 berlogika 1 sedangkan pin output yang lain berlogika 0 semua. Sedangkan pin CLK berguna untuk men-shift data pada output IC tersebut. Baik pin CLK dan pin RST terhubung ke rangkaian kontroller AVR AtM ega 8535. Pin nomor 13 adalah CKEN dihubungkan ke ground karena pin ini bersifat active LOW dan berfungsi untuk mengaktifkan penggunaan clock supaya data bisa di geser. Sedangkan IC 74HC541 merupakan IC buffer. Dibutuhkan 2 buah karena 1 buah IC 74HC541 hanya memiliki 8 output buffer yang bisa dipakai sedangkan yang dibutuhkan adalah 10 inputan dari keluaran IC CD4017. Pada rancangan yang penulis buat 1 IC 74HC541 tersambung dengan 8 buah keluaran dari IC CD4017 yaitu label OT2 sampai OT8. Sedangkan untuk IC 74HC541 yang kedua hanya mendapatkan 2 keluaran dari IC CD4017 dengan label OT0 dan OT1. Terdapat pin OE1 dan pin OE2 dimana kedua pin ini bersifat active LOW. Pin ini terdapat pada nomor 1 dan nomor 19. Kedua pin ini
62
dihubungkan ke ground karena untuk mengaktifkan output dari IC 74HC541. 3.2.3 Perancangan Rangkaian Matriks Sensor Magnet
Gambar 3.4 Rangkaian Board Reed Switch Board reed switch ini merupakan kumpulan reed switch yang membentuk matriks 9x10. Pada skematik gambar 3.4 tidak dicantumkan 90 buah reed switch karena terlalu besar skematiknya. Namun, secara garis besar pola rangkaiannya sama. Yaitu terdiri dari 10 output dengan label SCAN 1 sampai SCAN 10 yang terhubung ke rangkaian scanning shift register. Selain itu terdapat 9 buah pin keluaran yaitu dari DATA 1 sampai DATA 9 yang terhubung juga ke rangkaian kontroller. Pada tiap reed switch terdapat LED yang berfungsi sebagai indikator ada tidaknya
63
bidak yang ada diatas board reed switch. LED ini juga dipakai untuk mencegah efek ghosting dan masking yang telah dijelaskan pada bab 2.
3.2.4 Perancangan Rangkaian Komunikasi Serial U1 2 1
RX_487
8
VCC A
6
B
7
VCC
R
3 4
PORTD.6 TX_487
5
GND
GND
D
1 6 5 4 3 2
*1 VP TPA+ TPATPB+ TPBGND RJ 11
GND MAX487CPA
S1
GND PORTD. 1
C1 Cap Pol1 1uF
U4
C2
1 3 Cap Pol1 4 1uF 5 Cap Pol1 1uF 11 TX_232 10 C3
12 9
RX_232
15
VDD VCC
2 16
T1IN T1OUT T2IN T2OUT
14 7
C1+ C1C2+ C2-
R1OUT R2OUT
R1IN R2IN
GND
VEE
VCC J1 1 6 2 7 3 8 4 9 5
13 8 6
PORTD. 0
TX
TX_487 TX_232 RX_487
RX DPDT 6P
RX_232
11 10
D Connec tor 9
MAX232CPE GND
C4 Cap Pol1 1uF GND
Gambar 3.5 Rangkaian Komunikasi Serial Pada modul komunikasi serial terdapat 2 buah IC penting untuk melakukan komunikasi serial yaitu IC M AX232 dan IC M AX487. Ketika PC hanya melakukan komunikasi dengan 1 board saja maka yang di pakai adalah IC M AX232. Namun bila dalam 1 waktu PC ingin mencatat
64
sekaligus dan memilih board mana yang akan di tampilkan maka yang dipakai adalah IC M AX487. Keluaran dari IC M AX232(U6) ini terhubung dengan connector female DB-9. Untuk komunikasi dengan PC dibantu dengan kabel converter USB to Serial. IC M AX232 digunakan untuk komunikasi komputer dengan 1board saja. Pada M AX 232 terdapat pin C1+, C1-, C2+ dan C2-. Pin pin tersebut di pasang dengan kapasitor polar tipe elco bernilai 1µF. Kapasitor ini juga dipasang pada VDD yang diserikan ke ground. IC tersebut bisa menangani 2 komunikasi sekaligus karena dalam 1 buah IC M AX232 terdapat 2 buah jalur transmit dan receive. IC M AX487 digunakan apabila ingin melakukan komunikasi board catur lebih dari satu. Untuk menandai address dari masing-masing board digunakan sebuah dip-switch pada rangkaian kontroller. Pemberian id masing-masing board diberikan dengan mengatur kombinasi nomor biner pada DIP-Switch yang ada pada rangkaian kontroller. Keluaran dari IC M AX487(U2) ini terhubung dengan connector female RJ11. IC M AX487 digunakan apabila ingin melakukan komunikasi 1 board catur atau lebih.
Untuk menandai address dari
masing-masing board digunakan sebuah dip-switch pada rangkaian kontroller. Pemberian id masing-masing board diberikan dengan mengatur kombinasi nomor biner pada DIP-Switch yang ada pada rangkaian kontroller.
65
Pada MAX487 pin 2 adalah RE ( Receive Output Enable) sedangkan pin 3 adalah DE( Driver Input Enable). Antara pin 2 dan pin 3 disambung menjadi satu ke label transmission control pada mikrokontroller. Hal ini dikarenakan karena metode komunikasi yang digunakan adalah half duplex. Dimana ketika transmission control diberi logic HIGH maka yang terjadi adalah transmit data. Apabila diberi logic LOW maka yang terjadi adalah receive data. Terdapat sebuah push button DPDT(S5) yang digunakan untuk memilih mode komunikasi apa yang digunakan. Jika ditekan maka yang digunakan adalah komunikasi serial RS-232 dimana yang tersambung ke serial komputer adalah TX 232 dan RX 232 . Apabila tidak ditekan maka komunikasi yang digunakan adalah RS-485 dimana yang tersambung ke komputer adalah TX 485 dan RX485.
66
3.2.5 Perancangan Rangkaian Penunjuk Waktu VCC
GND
U1 13 12
PORTB.4
10 11
PORTB.6 PORTB.7
14
PORTB.5
8
U2
OE VCC 16 RC LK 15 QA SRCL R QB 1 SRCL K QC 2 QD 34 SER QE 5 QF QG 6 QH 97 GND QH'
R1 R3 Res1 R5 50 Res1 R7 Res1 50 R9 50R11 Res1 50 Res1 R13 50R15 Res1 Res1 50 50 Res1 50
SN74HC595N
4 5 9 7 6 2 1 10
*1 a A 3 a A 8 b c b d f e e g c f DP g d DP
13 OE VCC 16 12 RCLK 15 10 SRCLR QA QB 1 11 SRCLK QC 2 QD 34 14 SER QE 5 QF QG 6 QH 79 8 GND QH'
PORT B.4 PORT B.6 PORT B.7
Seven Segment
R2 R4 Res1 R6 50 Res1 R8 Res1 50 R10 50 Res1 R12 50 Res1 R14 50 Res1 R16 50Res1 50 Res1 50
SN74HC595N
GND
10 8 6 4 2
PORT B.5 PORT B.7 GND
VC C
4 5 9 7 6 2 1 10
*2 a A 3 a A 8 b c b d f e e g c f DP g d DP
H1 10 8 6 4 2
9 7 5 3 1
9 7 5 3 1
PORTB.6 PORTB .4 VCC
IDC10M
P O R T B .7 P O R T B .6 P O R T B .4
GND
Seven Segment
GND
GND
8
VCC U3
14
8
SRCL R SRCL K SER
GND SN74HC595N
GND
4 5 9 7 6 2 1 10
*3 3 a A a A 8 b c b d f e e g c f DP g d DP
PORTB .4 PORTB .6 PORTB .7
Seven Segment
U5 13 VCC 12 OE RCLK QA 10 11 SR CLR QB SR CLK QC QD 14 SE R QE QF QG QH 8 GND QH'
VCC 16 15 1 2 3 4 5 6 7 9
SN74HC595N
U4 SN74HC595N
GN D
QA QB QC QD QE QF QG QH QH'
GND R17 R18 Res1 R19 Res1 50R21 50R23 Res1 50 Res1 R25 50R27 Res1 50R29 Res1 Res1 50 50 Res1 50
15 1 2 3 4 5 6 7 9
SE R S R CL K S R CL R RCLK O E
10 11
PORTB.6 PORTB.7
OE RC LK
R20 R22 Res1 R24 50 Res1 R26 50 Res1 R28 50 Res1 R30 Res1 50 R31 50 Res1 R40 50 Res1 50 Res1 50
4 5 9 7 6 2 1 10
*4 a A 3 a A 8 b c b d f g c e f e DP g d DP
H' H G F ED C B A CC
PORTB.4
VCC 16
Q Q Q Q QQ Q Q Q V
13 12
9 7 6 5 43 2 1 15 16
GND
14 11 10 12 13
GND
R32R 33R34R35R36R37R38R 39 Res1R es1Res1Res1Res1ResRes1 1 R es1 50 50 50 50 50 50 50 50
VC C
Seven Segment
GND VCC
GND
SN74HC595N
VCC U7
Seven Segment
SN74HC595N GND
VCC U8 13 OE VCC 16 12 RCL K 15 10 SRCLR QA QB 1 11 SRCLK QC 2 3 QD 4 14 SER QE 5 QF QG 6 QH 97 8 GND QH'
PORTB.4 PORTB.6 PORTB.7
GND
SN74HC595N
R57 R58 Res1 R59 Res1 50 R60 50R61 Res1 50R62 Res1 50 Res1 R63 50R64 Res1 Res1 50 50 Res1 50
R44 R46 Res1 R48 50 Res1 R50 50 Res1 R52 Res1 50 R54 50 Res1 R55 50 Res1 R56 50 Res1 50 Res1 50
4 5 9 7 6 2 1 10
*6 a A 3 a A 8 b c b d f e e g c f DP d g DP Seven Segment
*7 Seven Segment
g
15 1 2 3 4 5 6 7 9
a
PORTB .6 PORTB .7
16
c
13 OE VCC 12 RCLK QA 10 CLR QB 11 SR SR CLK QC QD 14 SE R QE QF QG QH 8 GND QH'
PORTB .4
b
4 5 9 7 6 2 1 10
*5 3 a A a A 8 b c b d f g c e e f DP g d DP
A A
8
R41 R42 Res1 R43 Res1 50 R45 50R47 Res1 50R49 Res1 50 Res1 R51 Res1 50 R53 50 Res1 50 Res1 50
8 3
14
OE VCC RC LK QA 15 SRCL R QB 1 SRCL K QC 23 QD 4 SER QE QF 5 QG 67 QH 9 GND QH'
10 1 2 76 9 5 4
10 11
PORTB.6 PORTB.7
GND
16
DP g e ef f dc b a
PORTB.4
U6
d
13 12
DP
GND
GND
4 5 9 7 6 2 1 10
*8
3 a A a A 8 b c b d f e e g c f DP g d DP
Seven Segment
Gambar 3.6 Rangkaian Penunjuk Waktu Untuk modul penunjuk waktu dengan rangkaian kontroller disambung dengan menggunakan connector IDC5x2 (H1). Seven segment yang digunakan pada sistem ini adalah seven segment common anode
67
dimana untuk menyalakan 1 segment-nya tersebut harus diberi logic 0. Karena tiap pemain mempunyai waktu untuk bermain sebesar 60 menit maka tiap pemain memakai 4 buah seven segment dimana 2 buah untuk menunjukkan digit menit dan 2 buah lagi untuk menunjukkan digit detik. Tiap seven segment di kendalikan oleh IC 74HC595 dimana IC ini terdiri dari 16 pin yang memiliki fungsi seperti shift register dimana ada 1 input dan 8 output pada seven segment dengan output yang bersifat latch. Setiap keluaran dari IC 74HC595 diberi resistor bernilai 47 ohm yang diserikan ke seven segment common anode. Untuk mengatur nyalanya seven segment, IC 74HC595 ini terdapat 3 pin yang masing-masing diatur oleh mikrokontroller. 3 pin tersebut adalah Master Reset, Storage, dan Clock. Master Reset aktif ketika diberi logic LOW yang mengakibatkan semua output dari IC ini menjadi logika 0 semua. Untuk pin Storage mempunyai fungsi menampilkan hasil shift register ke seven segment. Sedangkan pin clock berfungsi untuk menggeser bit yang masuk ke data input dari mikrokontroller. Output pin QH’ pada IC 74HC595 menjadi masukan untuk IC berikutnya sampai ke seven segment terakhir. Penyambungan ini dimaksudkan agar data yang dimasukkan ke semua IC hanya menggunakan 1 jalur saja, yaitu pin SER pada IC 74HC595. Sehingga tiap seven segment menggunakan 1 buah IC 74HC595.
68
3.2.6 Perancangan Rangkaian Tombol Ganti Pemain dan Reset VCC
R5 Res1 1K
R6 Res1 1K
PORTD.2
INT0
PORTD. 3
Reset
S3 Push_BTN
C5 Cap 100nF
S4 Push_BTN
S5 Push_BTN C6 Cap 100nF
GND
Gambar 3.7 Rangkaian Tombol Ganti Pemain dan Reset Pada
rangkaian
rangkaian
tombol
ganti
pemain
kami
memanfaatkan fitur interupt AtM ega 8535 pada yaitu INT0, INT1. Lalu untuk rangkaian reset menggunakan fitur reset pada AtM ega 8535. Pada kontroller sendiri hanya terdapat 2 buah pin interrupt. Untuk Rangkaian reset, konfigurasi pin reset pada AtM ega 8535 adalah active low sehingga pada rangkaian tidak disambung ke VCC maupun resistor. Ketika tombol reset ditekan maka pin reset akan mendapat logic low karena terhubung dengan ground. Sedangkan untuk interrupt 0 dan interrupt 1, push button ini dipararel dengan kapasitor 100nF untuk mencegah terjadinya bouncing ketika terjadi penekanan.
69
3.2.7 Perancangan Rangkaian Regulator S6 3 1
SW-geser kecil
VCC
U7 VIN
OUT
3
GND 2
PWR2.5
2 3 1
1 2
J2
L1 LED
C9 LM7805 C11 Cap Pol1 Cap 10uF 100nF
C10 Cap Pol1C12 10uF Cap R9 Res1 1K
GND
Gambar 3.8 Rangkaian Regulator Untuk Regulator menggunakan rangkaian seperti pada gambar 3.8. Regulator ini digunakan untuk meregulasi tegangan yang masuk sehingga tegangan yang dipakai untuk sistem sebesar 5 volt. Dengan tegangan yang masuk ke dalam regulator diharapkan sebesar 7,5 – 9 volt. Terdapat socket DC(J2) untuk masukan adaptor, Switch (S6) untuk tombol ON-OFF, kapasitor yang berfungsi untuk mencegah ripple dari adaptor. Pada rangkaian regulator terdapat indikator LED yang akan menyala bila ada power yang masuk dan menandakan sistem telah mendapat power jika switch pada kondisi ON.
70
3.1.8 Perancangan Rangkaian Buzzer VCC
Buzz1 1 1 2 2
PORTB.3
R8 Res1 1K
Buzzer O R7 Re s1 100
Q1 9013
Q2 9013
GND
Gambar 3.9 Rangkaian Buzzer Untuk rangkaian buzzer kami menggunakan 2 buah transistor yang dikonfigurasikan sebagai penguat Darlington. Transistor yang di pakai adalah jenis 9013 tipe npn. Pengaturan aktif tidak nya transistor Q1 berasal dari mikrokontroller pada net label BUZZER. Untuk mengaktifkan buzzer mikrokontroller harus memberi logic HIGH supaya transistor Q1 aktif dan mengaktifkan transistor Q2. Ketika Q2 aktif maka BUZZER berbunyi. Penguat Darlington ini dipakai supaya nyala buzzer menjadi lebih kencang dengan cara membuat transistor q2 menjadi saturasi. Ada resistor 100Ω yang diserikan dengan collector transistor Q2 supaya arus yang mengalir dibatasi.
71
3.1.9 Perancangan Rangkaian Konverter US B ke RS -485 GND
787761-1 VCC
16 16 15 15
VCC 27 27 28 28 19 19 26 26 C3 Cap Pol1 4.7uF
USBDP
OSCI OSCO RE SE T TE ST
21 18 7 25
C2 Cap 100nF
USBDM
23 22 14 13 12
T XLE D# RXLE D# PWRE N# TXDEN SL EE P#
2
1 6 5 4 3 2
VCC
A
6 487_A
B
7 487_B
R
1
3 4 5
GND
D
GND MAX487CPA
LED*2 Led kecil
GND GND
L ED*1 L ed kecil
R4 Res1 330
R5 Res1 330
VCC
Gambar 3.10 Rangkaian konverter USB ke RS-485 Rangkaian ini menggunakan IC FT232RL dimana IC ini mempunyai 28 pin dengan konfiguarsi P-DIP. IC ini merupakan IC penghubung antara USB dan UART serial. Pada sistem kami, IC ini digunakan untuk komunikasi antara komputer dan board catur. Data serial dari komputer berasal dari USB yang masuk ke pin nomor 15 dan pin nomor 16 USBDM dan USBDP. Pada rangkaian terdapat indikator LED untuk menandakan adanya bit yang dikirim atau bit yang menerima. Indikator ini dihubungkan ke TXLED dan RXLED.
*1 VP TPA+ TPATPB+ TPBGND RJ 11
GND
A
4 3 2 1
AGND GND7 G N D 18 G N D 21
GND D+ DVBUS
TXD RXD RT S# CT S# DT R# DSR# DCD# RI
8
VCC
2 1
25 7 18 21
J1
V CC VCCIO 3V3O U T
GND
U1
K
23 22 14 13 12
1 2 3 4
1 5 3 11 2 9 10 6
U*1 FT232RL U2A 1 5 3 3 11 SN7432N 2 9 10 6
A
20 20 4 4 17 17
P1 Header 4
C1 Cap 100nF
K
VCC
72
Rangkaian diatas terdapat IC MAX487 karena memang ingin melakukan komunikasi dari banyak board yang nantinya datanya akan di konvert ke serial di komputer melalui USB. Terdapat IC 74LS32 sebagai gerbang OR. Gerbang OR dengan input RO dari 487 dan DE dari 487. Pemakaian gerbang OR disini dikarenakan fungsi dari FT232RL dimana data yang terkirim sama dengan data yang diterima.
3.3.
Perancangan Piranti Lunak Pada Mikrokontroller Program pada mikrokontroler bertanggungjawab untuk: • M elakukan scanning reed switch untuk mendeteksi pergerakan bidak. • M enjawab permintaan data dari PC, misalnya permintaan data pergerakan bidak terbaru. • M endeteksi penekanan tombol pergantian pemain • M eng-update timer • M embunyikan buzzer jika terjadi error Program ini diimplementasikan menggunakan bahasa C dengan compiler WinAVR (AVR-GCC for Windows). Berikut adalah Flow Chart atau diagram alir sistem pada mikrokontoler secara umum.
73
3.3.1
Diagram Alir Sistem
Gambar 3.11 Flowchart Sistem
74
Gambar 3.11 adalah flowchart sistem pada papan catur yang dikontrol oleh mikrokontroler. Perlu diperhatikan untuk memulai sistem ini, papan catur harus sudah terkoneksi dengan baik ke PC, program pada PC dalam kondisi siap, dan sistem mendapat daya yang cukup. Pada saat inisialisasi program mikrokontroler akan me-reset semua IC, menyiapkan timer pada angka 60 menit, serta menyiapkan semua I/O dan interrupt yang dibutuhkan. Jika semua posisi bidak sudah diletakkan dengan benar, pertandingan dapat dimulai dengan menekan tombol pemain hitam. Jika posisi bidak masih ada yang belum sesuai, mikrokontroler akan menolak memulai pertandingan. Pertandingan yang berhasil dimulai dapat diamati dengan dengan berjalannya timer pemain merah. Perlu diingat bahwa sistem menggunakan sensor magnet sebagai pendeteksi bidak, sehingga sistem tidak akan pernah tahu jika ada bidak yang posisinya terbalik ketika pertandingan dimulai. Sistem hanya tahu bahwa posisi-posisi bidak tersebut telah sesuai, sehingga pemain memiliki tanggungjawab untuk memastikan tidak ada bidak yang terbalik pemasangannya. Pertandingan dimulai dengan giliran pertama pada pemain merah (sesuai peraturan resmi pertandingan XiangQi). Selama giliran pemain tersebut, sistem akan terus melakukan scanning untuk mendeteksi pengangkatan maupun peletakan bidak yang terjadi. Pengangkatan yang
75
disusul peletakkan bidak pada posisi yang sama akan membunyikan buzzer 1x pendek sebagai tanda langkah yang dibatalkan. Tujuannya adalah mendapatkan koordinat pengangkatan dan peletakkan suatu bidak untuk dicatat sebagai pergerakan. Penekanan tombol ganti pemain akan menyudahi giliran. Pada saat itu mikrokontroler akan memeriksa apakah pasangan koordinat pengangkatan dan peletakkan bidak sudah legal. Jika tidak, buzzer akan berbunyi dan giliran tidak berganti. Pemain yang sedang giliran jalan harus membenarkan langkahnya dan menekan tombol lagi. Jika sudah didapat pergerakan yang legal, posisi pengangkatan dan peletakkan tersebut akan disimpan ke memory untuk dikirimkan ketika papan mendapat polling. Papan catur dapat menyimpan hingga maksimal 8 langkah sebelum mendapat polling untuk berjaga-jaga jika ada sesuatu yang menghambat sampainya polling. Setelah langkah selesai disimpan, pemain akan ganti giliran ditandai dengan timer yang berganti jalan. Kemudian alur program akan kembali ke awal untuk melakukan scanning lagi.
76
3.3.2
Diagram Alir Scan Gerakan
Gambar 3.12 Flowchart Scanning Gerakan
77
Diagram alir scanning gerakan adalah salah satu predefined process yang dapat kita rinci lebih jauh. Proses scanning dilakukan dengan memberikan clock kepada IC Counter 4017 yang terhubung ke reed switch untuk menyalakan 10 baris secara bergantian. Data perbaris sebesar 9 bit dapat diambil di port A.0 sampai A.7 dan C.0. 10 x 9 bit data ini ditampung dalam array of integer ( int[10] ) dan elemen-elemennya akan diambil setiap kali iterasi scanning untuk dibandingkan dengan nilai 9 bit yang terbaru. Dengan demikian perubahan posisi bidak baik itu pengangkatan maupun peletakkan dapat segera dideteksi. Pengangkatan ditandai dengan perubahan nilai bit 1 ke 0. Sebaliknya, peletakkan ditandai dengan perubahan nilai bit 0 ke 1. Informasi kolom didapat dari index bit yang berubah pada integer tersebut, sedangkan informasi baris bisa dilacak dari nilai index integer bersangkutan pada array. Setelah itu informasi mengenai index kolom dan baris tempat terjadinya pengangkatan / peletakkan dikonversi menjadi 7 bit nilai 0 – 89 mewakili 90 titik yang ada pada papan. Sementara 1 bit M SB akan ditambahkan untuk menandakan langkah tersebut pengangkatan atau peletakan. M aka didapatlah 1 byte informasi penuh tentang sebuah pengangkatan atau peletakan
beserta koordinatnya. Fungsi akan
mengembalikan nilai ini. Nilai 0xFF akan dikembalikan jika tidak ada gerakan sebagai hasil scanning pada saat itu.
78
3.3.3
Diagram Alir Error Checking
Gambar 3.13 Flowchart Error Checking
79
Bagian error checking mengambil 1 byte dari proses scanning yang telah dilakukan untuk diperiksa legalitasnya. Pada tahap ini ada beberapa kemungkinan, antara lain: 1. Terjadinya pengangkatan bidak milik pemain yang sedang berjalan. Pada kasus ini langkah pengangkatan tersebut akan dicatat dan proses akan diteruskan. Jika tombol pergantian pemain ditekan sebelum langkah peletakan didapat, buzzer akan berbunyi. 2. Terjadinya peletakan bidak milik pemain yang sedang jalan setelah sebelumnya terjadi pengangkatan. M aka langkah sudah lengkap dan akan masuk ke buffer setelah tombol ditekan. Buffer yang berisi gerakangerakan ini akan diambil saat papan catur mendapat polling dari PC. 3. Terjadinya pengangkatan bidak lawan sebelum bidak pemain diangkat. Ini menyalahi aturan dan buzzer akan berbunyi hingga bidak lawan tersebut diletakkan di posisi semula. 4. Terjadi pengangkatan
bidak
pemain
yang sedang jalan
diikuti
pengangkatan bidak lawan. Ini terjadi ketika langkah makan dilakukan. Dalam hal ini pengangkatan kedua akan diabaikan dan program diteruskan, hingga nantinya didapat peletakan kembali bidak pemain yang melakukan langkah makan.
80
3.3.4
Diagram Alir Pengiriman Data Pergerakan
Gambar 3.14 Flowchart Pengiriman data pergerakan
81
Setelah data pergerakan yang valid didapat, data tersebut akan dimasukkan ke dalam ring buffer dengan kapasitas maksimum 8 gerakan. Setiap kali polling gerakan dari PC diterima, semua gerakan yang tersimpan dalam buffer akan dikirim dan buffer menjadi kosong kembali. Proses penanganan perintah polling yang diterima adalah dengan membaca data pada jalur serial. Protokol yang digunakan adalah UART dengan spesifikasi RS-485 dan Baudrate 57600.
Paket data dari PC
besarnya 4 byte dengan rincian sebagai berikut:
31.........24 23.........16 Header
Address
15..........8
7.............0
Command (ping / poll)
Checksum
Byte Header adalah nilai byte yang sudah disepakati bersama sebagai awal setiap paket percakapan, diimplementasikan menggunakan nilai 0xFE. Baru setelah Header didapat papan catur akan memproses lebih lanjut data-data pada buffer UARTnya. Karena model komunikasi RS-485 adalah broadcast, maka semua papan catur dapat mendengar paket dari PC. Untuk itu perlu dilakukan pemberian address unik pada tiap papan, dan hanya papan yang address-nya sesuai yang akan merespon lebih lanjut paket tersebut. Range address yang mungkin adalah 0-127 dan diimplementasikan menggunakan 7 bit. Ini sesuai spesifikasi IC M AX487 yang mendukung jumlah slave hingga 128 buah.
82
Jika Header dan Address telah cocok, byte ketiga akan disimpan sebagai Command dan byte keempat sebagai Checksum. Nilai Checksum yang didapat harus sama dengan persamaan berikut: Checksum = Header XOR Address XOR Command
Jika Checksum telah diperiksa dan sesuai, Command akan dibandingkan dengan kamus perintah yang diketahui papan catur, seperti perintah untuk Ping dan Polling. Perintah ini akan diteruskan ke ke fungsi utama untuk diproses lebih lanjut. Jika Command tidak diketahui maka sebagai
gantinya
nilai
byte
yang
telah
didefiniskan
sebagai
UNKNOWN_COMMAND akan dikembalikan ke fungsi utama. Proses selanjutnya adalah menanggapi perintah dari PC tersebut. Perintah
yang didukung oleh
papan
catur
adalah
PING
dan
POLL_MOVEM ENT. Perintah PING berguna bagi PC untuk memeriksa keaktifan papan-papan catur yang terkoneksi pada jalur RS-485. Papan catur yang aktif harus merespon dengan mengembalikan 1 Paket jawaban dengan berikut:
39..........32 31.........24 Header
Address
23.........16
15..........8
7.............0
PING_BACK PING_BACK Checksum
83
Sedangkan perintah POLL_MOVEM ENT berguna bagi PC untuk meminta gerakan terbaru yang belum sempat dicatat dan ditampilkan. M ikrokontroler akan mengirimkan data pergerakan pada queue buffernya (First In First Out) sebagai jawaban, dengan format sebagai berikut:
39..........32 31.........24 23.........16
15..........8
7.............0
Header
PopPut
Checksum
Address
PopPick
84
3.3.5
Diagram Alir Buzzer Alert
Gambar 3.15 Flowchart Interrupt Timer 0 Untuk mengeluarkan bunyi buzzer yang unik untuk masingmasing jenis error, mikrokontroler perlu membunyikan buzzer dengan berbagai pola bunyi. Interrupt Timer 0 digunakan untuk mencapai hal ini. Dengan
frekuensi overflow timer
0
sebanyak
40x per
detik,
mikrokontroler dapat mengatur apakah harus membunyikan atau mematikan buzzer 40x tiap detiknya. Sebagai contoh jika diinginkan bunyi yang dan patah-patah, mikrokontroler akan membunyikan buzzer
85
pada hitungan overflow ke 1 hingga 20, kemudian mematikan buzzer pada hitungan 21 hingga 40 dan berulang terus.
Gambar 3.16 Flowchart Interrupt Timer1
86
Interrupt Timer 1 memiliki interval 0.5 detik. Tanggung jawab Interrupt Handler nya adalah memberitahu 7 Segment untuk melakukan update. Update yang dimaksud bisa berupa pengedipan dot (jika 0.5s telah berlalu) atau penambahan nilai detiknya (jika 2 x 0.5s telah berlalu). Selain itu, Interrupt Timer 1 juga akan me-refresh kondisi error pada papan catur. Jika error telah dibenarkan, status buzzer diatur agar berhenti berbunyi. Akan tetapi jika masih terdapat error, Interrupt ini akan memberikan status tertentu agar buzzer berbunyi dengan pola yang sesuai. Bunyi buzzer yang didukung adalah Beep_Once, Beep_Twice, dan Beep_Once_Long. Beep_Once untuk memberitahu pemain ketika pemain mengangkat bidak dari suatu posisi dan meletakkannya kembali pada posisi yang sama. Ini diartikan sebagai langkah yang dibatalkan dan buzzer akan berbunyi satu kali pendek sebagai responnya. Beep_Twice digunakan untuk memberitahu pemain ketika terjadi kesalahan berupa pengangkatan bidak yang bukan miliknya. Beep_Twice membuat buzzer berbunyi 2x beep...beep terus menerus hingga bidak lawan diletakkan kembali. Sebagai catatan untuk melakukan langkah makan, bidak milik sendiri harus diangkat terlebih dahulu sebelum bidak lawan diangkat, sehingga kondisi error ini tidak terjadi. Beep_Once_Long terjadi ketika pada giliran seorang pemain, pemain menekan tombol ganti giliran sebelum menyelesaikan gilirannya. Giliran dianggap tidak selesai jika pengangkatan tidak diikuti peletakan
87
bidak atau bahkan tidak terjadi pengangkatan bidak sama sekali. Dalam kasus ini buzzer akan berbunyi 1x panjang, berhenti sebentar, dan terus berulang hingga langkah diselesaikan dan tombol ditekan lagi. Setelah menyalakan flag status yang sesuai, Interrupt Timer 1 Overflow ini akan selesai dan program dilanjutkan kembali. 3.5
Perancangan Piranti Lunak pada PC Program pada PC bertanggungjawab untuk: •
M elakukan ping untuk mendeteksi papan-papan yang aktif.
•
M enampilkan papan-papan catur yang aktif.
•
M elakukan polling data yang diperlukan, misalnya data pergerakan bidak.
•
M encatat data pergerakan bidak ke dalam database.
•
M engupdate tampilan setiap kali terjadi pergerakan baru.
Program ini diimplementasikan menggunakan bahasa ActionScript 3. Proses desain dan compile menggunakan Adobe Flash IDE. Database yang digunakan adalah MySQL pada Windows dengan paket instalasi XAM PP. Selain itu, program kecil bernama CommTunnel juga digunakan sebagai proxy dari TCP ke Serial Port, karena Flash tidak dapat mengakses Serial Port secara langsung tetapi mampu memanfaatkan TCP Socket dengan baik. AM FPHP sebagai perangkat Flash Remoting digunakan untuk membantu Flash mengakses database, sehingga semua perintah query dikirimkan menggunakan menggunakan script PHP.
88
3.4.1. Class Diagram Program Desain programnya diilustrasikan dalam Class Diagram berikut:
Gambar 3.17 Class Diagram Program
Dengan peran masing-masing kelasnya sebagai berikut: ¾ Class SQLConnection M erupakan turunan dari kelas NetConnection yang ada pada package flash.net. Kelas ini digunakan untuk membuat koneksi ke AM FPHP
89
sebagai remote server. Alamat host dipassing ke constructor dan objek dari kelas ini dapat memanfaatkan method connect dan call dengan mudah. Jawaban akan diterima dalam bentuk objek responder yang ada pada package flash.net juga. ¾ Class SerialConnection M erupakan turunan dari kelas Socket yang ada pada package flash.net. Kelas ini bertanggungjawab melakukan komunikasi pada socket TCP. Komunikasi ini akan diteruskan oleh program CommTunnel kepada port Serial yang terhubung ke papan catur. M ethod turunan yang diinginkan antara lain writeByte() dan readByte(), dengan interface tambahan untuk melakukan ping dan pollM ovement. ¾ Class XiangqiPiece M erupakan M ovieClip berbentuk bidak-bidak catur. Atribut dan method yang dimiliki hanya sederhana saja seperti ukuran dan tipe bidak. Objek ini akan dibuat oleh kelas XiangqiBoard dan ditata di atas papan. ¾ Class XiangqiBoard Kelas
ini adalah
XiangqiBoard
M ovieClip
bertanggungjawab
yang berbentuk membuat
bidak
papan
catur.
dari
kelas
XiangqiPiece dan mengatur pergerakan bidak-bidak tersebut. ¾ Class XiangqiMain M erupakan document class utama dan core dari program Flash ini. XiangqiM ain memiliki objek SQLConnection, SerialConnection, dan
90
juga membuat objek XiangqiBoard sesuai banyaknya papan yang aktif. Papan-papan ini akan disimpan dalam sebuah Array dan diupdate jika ada data baru yang masuk. Document class pada Flash harus merupakan turunan dari kelas M ovieClip yang ada pada package flash.display.
3.4.2 Rancangan Graphic User Interface Pada program di PC, penulis menggunakan adobe flash untuk membuat program yang mendukung sistem beserta menu serta fitur fitur yang akan digunakan. Terdapat 5 rancangan tampilan yang akan dibuat yaitu tampilan program utama, tampilan pertandingan, tampilan option, tampilan log, dan tampilan online.Berikut adalah rancangan tampilan menu-menu yang akan dibuat dalam bentuk sketsa. Rancangan Tampilan Program Utama
Gambar 3.18 Rancangan Tampilan Program Utama
91
Pada rancangan program utama terdapat daftar pemain yang meliputi Player Id, First Name, Last Name, Alternative Name, dan Nationality. Ketika papan sudah tersambung maka pada input kode pemain terdapat board id yang terdeteksi pada program di komputer. Panitia melakukan pengisian id pemain untuk pemain merah dan pemain hitam. Nama pemain yang bertanding akan muncul sesuai dengan player id pada daftar pemain. Kompetisi id digunakan untuk menamai pertandingan yang berlangsung. Terdapat pilihan refresh, start, option, log, dan exit sebagai fitur dari program tersebut. Rancangan Tampilan Pertandingan
Gambar 3.19 Rancangan Tampilan Pertandingan
92
Rancangan Tampilan pertandingan akan muncul ketika user menekan start setelah mengisi input kode pemain dan nama kompetisi. Pada bagian ini terdapat nomor board masing-masing papan xiang qi, foto pemain merah dan foto pemain hitam beserta id pemain dan nama pemain. Terdapat tombol segitiga panah kanan dan segitiga panah kiri untuk melihat papan pertandingan mana (nomor papan) yang akan dipilih jika ada lebih dari 1 pertandingan. Rancangan Tampilan Option
Gambar 3.20 Rancangan Tampilan Option Tampilan option akan muncul ketika user menekan pilihan option. Pada bagian ini terdapat pilihan untuk memakai bidak catur yang icon
93
nya berupa tulisan mandarin atau icon berupa catur barat. Pilihan Red Bottom dan Black Bottom dipilih untuk menyesuaikan tampilan pemain merah dibagian atas atau dibagian bawah begitu pula sebaliknya. Bagian ini juga terdapat label untuk pengisian SQL host address, Serial TCP address, dan serial TCP port. Terdapat pilihan back untuk kembali ke menu program utama. Rancangan Tampilan Log
Gambar 3.21 Rancangan Tampilan Log Rancangan tampilan log dipakai apabila pertandingan yang sudah berlangsung dan
data pergerakannya tersimpan
pada database
94
dikemudian hari ingin dilihat oleh panitia atau user. M aka bagian log akan menampilkan pergerakan dari langkah pertama hingga langkah terakhir untuk satu pertandingan. Terdapat pilihan previous dan next untuk memundurkan 1 step langkah bidak dan memajukan 1 step langkah bidak. Rancangan Tampilan Online
Gambar 3.22 Rancangan Tampilan Online Perancangan
tampilan
online menyerupai dengan
rancangan
tampilan pertandingan hanya saja pada rancangan tampilan online terdapat checkbox autoplay untuk bisa di centang ketika penonton menginginkan tampilan bidak catur bergerak sesuai dengan yang ada
95
pada papan catur pertandingan secara realtime. Penonton bisa melihat lebih dari 1 pertandingan yang sedang diadakan dengan memilih panah kanan dan kiri. 3.5
Rancang Bangun Pada gambar rancang bangun sistem secara keseluruhan berukuran 55cm x 57cm. Untuk papan caturnya sendiri sudah diikuti peraturan internasional dimana papan pertandingan yang dipakai berukuran 4,5cm x 4,5 cm tiap kotaknya. Pada bagian tengah merupakan tempat bermainnya catur dimana papan catur ini terbuat dari acrylic yang ditempeli oleh stiker bergambar papan catur cina. Acrylic ini diletakkan diatas PCB dimana pada bagian PCB merupakan tempat dipasangnya semua komponen baik itu mikrokontroller, IC pendukung, sensor magnet, dan juga connector. Pada bagian sebelah kiri, terdapat penunjuk waktu dan push button mushroom
yang berwarna merah untuk para pemain. Button mushroom dan
penunjuk waktu dipasang pada chasis yang terbuat dari acrylic. Penunjuk waktu ini diletakkan agak tinggi dari papan catur +5cm dari PCB dan dipasang dengan kemiringan sebesar 45° Untuk pemasangan IC seperti mikrokontroller, shift register, decoder, dan IC pendukung lainnya dipasang pada PCB dengan peletakkannya dibawah seven segment penunjuk waktu. Jadi komponen komponen yang dipakai seperti sensor dan komponen lainnya apabila di lihat dari tampak atas maka tidak terlihat sama sekali baik itu solderannya maupun IC yang dipakai oleh sistem. Selain yang
96
tampak pada rancang bangun, sistem ini juga membutuhkan daya dari adaptor dan melakukan komunikasi ke komputer lewat kabel serial.
Gambar 3.18 Rancang Bangun Sistem Keseluruhan.