6 BAB 2 LANDASAN TEORI 2.1 Mikrokontroller AVR M ikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta dapat ditulis dan dihapus dengan cara khusus. M ikrokontroler dapat diberikan suatu program yang bekerja sesuai dengan keinginan pengguna. Sehingga ketika mikrokontroler dihubungkan dengan input dan output, pengguna juga dapat menggunakan mikrokontroler tersebut. Bisa dikatakan mikrokontroler menjadi otak bagi jalannya alat-alat lain pada suatu sistem keseluruhan. Internal architecture AVR ditemukan oleh 2 mahasiswa Norwegian Institute of Technology (NTH) bernama Alf-Egil Bogen dan Vegard Wollan. Dikenal sebagai M ikro RISC (µRISC), AVR sendiri dilaporkan memiliki kepanjangan Advanced Virtual RISC. Tetapi ada juga rumor yang menyatakan bahwa AVR kepanjangan dari nama penemunya yaitu Alf, Vegard RISC. Namun, dari ATM EL sendiri menyatakan bahwa AVR tidak mempunyai kepanjangan apapun. Secara umum, keluarga AVR dibagi menjadi 5 kategori group: 1. Tiny AVR Seri Attiny mempunyai jumlah pin sebanyak 6-32 pin dengan program memory sebesar 0.5-8 kB dan peripheral set yang terbatas. 2. MegaAVR Seri Atmega mempunyai program memory sebanyak 4-256 kB dengan jumlah pin sebanyak 28-100 pin serta Instruction set yang lebih banyak untuk menangani program yang lebih besar. Dilengkapi pula peripheral set yang lebih luas. 7 3. Xmega Seri Atxmega mempunyai program memory sebesar16-284kB. Jumlah pin sebanyak 44-64-100 pin. Dilengkapi dengan fitur seperti Direct Memory Access Controller, Event System, dan cryptography support. Peripheral set juga lebih luas dengan menggunakan Digital to Analog Converter (DAC). 4. S pecific Application AVR M erupakan megaA VR dengan fungsi khusus yang tidak ditemukan di keluarga A VR lainnya. Seperti LCD controller, USB controller, advanced pulsed with modulation (PWM ) , Battery Management, Controller Area Network (CAN), dll. 5. Atmel At94k FPS LIC M erupakan family AVR yang core nya sudah on-die dengan FPGA. FPSLIC menggunakan SRAM untuk menyimpan program code nya. Berbeda dengan tipe AVR lainnya yang menyimpannya dalam flash memory. Gambar 2.1 Perbandingan feature dengan jumlah pin keluarga A VR 8 AVR memiliki arsitektur RISC 8 bit, sehingga semua instruksi dikemas dalam kode 16 bit (mnemonic) dan sebagian besar instruksi dieksekusi dalam satu siklus instruksi clock. Yang membedakan dari semua keluarga AVR adalah ukuran memory ROM -nya, peripheral yang dipakai, dan feature yang tersedia. Untuk instruksi dan arsitektur bisa dikatakan hampir sama. Gambar 2.2 Blok Diagram AVR 2.1.1. ATMega8535 9 Gambar 2.3 Konfigurasi pin ATM ega8535 Keterangan pin ATM ega 8535: • VCC merupakan pin yang berfungsi sebagai catu daya • GND merupakan pin ground. • PORTA (PA7...PA7) M erupakan 8-bit bi-directional I/O port jika A/D Converter tidak digunakan. Port A ini mempunyai internal pull-up resistor. Output buffers Port A mempunyai kemampuan high sink dan mengeluarkan arus yang sama. Ketika PA0 sampai PA7 digunakan sebagai input maka arus dapat masuk jika internal pull-up resistor diaktifkan. Port A adalah tri-stated ketika kondisi reset menjadi aktif bahkan ketika clock sedang tidak berjalan. Port A mempunyai fungsi-fungs i alternatif yang dapat dilihat dalam tabel berikut. Tabel 2.1 Fungsi alternatif Port A pada Atmega8535 Port Fungsi Alternatif PA7 ADC7 (ADC input channel 7) PA6 ADC7 (ADC input channel 6) PA5 ADC7 (ADC input channel 5) PA4 ADC7 (ADC input channel 4) PA3 ADC7 (ADC input channel 3) PA2 ADC7 (ADC input channel 2) 10 PA1 ADC7 (ADC input channel 1) PA0 ADC7 (ADC input channel 0) • PORT B (PB0...PB7) M erupakan 8-bit bi-directional I/O port dengan internal pull-up resistor. Output buffers Port B mempunyai kemampuan high sink dan mengeluarkan arus yang sama. Ketika PB0 sampai PB7 digunakan sebagai input maka arus dapat masuk jika pull-up resistor diaktifkan. Port B adalah tri-stated ketika kondis i reset menjadi aktif bahkan ketika clock sedang tidak berjalan. Port B mempunyai fungsi-fungsi alternatif yang dapat dilihat dalam tabel berikut. Tabel 2.2 Fungsi alternatif Port B pada Atmega8535 Port PB7 PB6 PB5 PB4 Fungsi Alternatif SCK (SPI Bus Serial Clock) M ISO (SPI Bus Master Input/Slave Output) MOSI (SPI Bus Master Output/Slave Input) SS (SPI Slave Select Input) PB3 AIN1 (Analog Comparator Negative Input) OC0 (Timer/Counter0 Output Compare Match Output) PB2 AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input) 11 PB1 PB0 T1 (Timer/Counter1 External Counter Input) T0 (Timer/Counter0 External Counter Input) XCK (USART External Clock Input/Output) • PORTC (PC0...PC7) M erupakan 8-bit bi-directional I/O port dengan internal pull-up resistor. Output buffers Port C mempunyai kemampuan high sink dan mengeluarkan arus yang sama. Ketika PC0 sampai PC7 digunakan sebagai input maka arus dapat masuk jika pull-up resistor diaktifkan. Port C adalah tri-stated ketika kondis i reset menjadi aktif bahkan ketika clock sedang tidak berjalan. Port C mempunyai fungsi-fungsi alternatif yang dapat dilihat dalam tabel berikut. Tabel 2.3 Fungsi alternatif Port C pada Atmega8535 Fungsi Alternatif Port PC7 PC6 PC1 PC0 • TOSC2 (Timer Oscillator Pin 2) TOSC1 (Timer Oscillator Pin 1) SDA (Two-wire Serial Bus Data Input/Output Line) SCL (Two-wire Serial Bus Clock Line) PORTD (PD0...PD7) M erupakan 8-bit bi-directional I/O port dengan internal pull-up resistor. Output buffers Port D mempunyai kemampuan high sink dan mengeluarkan arus yang sama. Ketika PD0 sampai PD7 digunakan sebagai input maka arus dapat 12 masuk jika pull-up resistor diaktifkan. Port D adalah tri-stated ketika kondis i reset menjadi aktif bahkan ketika clock sedang tidak berjalan. Port D mempunyai fungsi-fungsi alternatif yang dapat dilihat dalam tabel berikut. Tabel 2.4 Fungsi alternatif Port D pada Atmega8535 Fungsi Alternatif Port PD7 OC2 (Timer/Counter2 Output Compare Match Output) PD6 ICP1 (Timer/Counter1 Input Capture Pin) PD6 PD5 PD5 OC1A (Timer/Counter1 Output Compare A Match Output) PD4 PD4 OC1B (Timer/Counter1 Output Compare B Match Output) PD3 PD2 PD1 PD0 • PD3 INT1 (External Interrupt 1 Input) PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin) PD0 RXD (USART Input Pin) RES ET M erupakan pin reset. Jika diberi level tegangan low untuk waktu yang tidak lama daripada panjang pulsa minimum akan melakukan reset bahkan ketika clock tidak berjalan. Pulsa yang terlalu kecil panjangnya tidak menjamin untuk mengakibatkan reset bekerja. 13 • XTAL1 M erupakan input untuk inverting oscillator amplifier dan untuk internal clock operating circuit. • XTAL2 Output dari inverting oscillator amplifier. • AVCC M erupakan pin tegangan supply untuk portA dan A/D Converter. Pin ini terhubung ke VCC secara eksternal bahkan ketika ADC jika tidak digunakan. Ketika menggunakan ADC, pin ini terhubung ke VCC melalui low pass filter. • AREF M erupakan tegangan referensi analog jika menggunakan A/D Converter. 2.1.2 Komunikasi Serial Pada dasarnya media komunikasi terdiri dari 3 bagian yaitu transmitter, media, dan receiver. Transmitter adalah alat yang mengirim sinyal atau data. Receiver adalah alat yang menerima sinyal atau data dari transmitter. Sedangkan media adalah jalur yang digunakan dalam pengiriman data tersebut. Bisa memakai kabel atau memakai non kabel (wireless). Transmitter dan Receiver biasa digunakan dalam pengiriman data antara 2 atau lebih titik dalam sebuah jaringan. Data komunikasi pada pengiriman sinyal sangat ditentukan oleh noise, perbedaan level ground, 14 ketidakcocokan impedansi, dan beberapa gangguan yang berhubungan pada saat instalasi jaringan. Komunikasi serial mempunyai 2 mode yaitu : a) Sinkron M ode sinkron merupakan mode komunikasi yang pengiriman tiap bit data dilakukan dengan menggunakan sinkronisasi clock. Pada saat transmitter hendak mengirimkan data, harus disertai clock untuk sinkronisasi antara transmitter dengan receiver. b) Asinkron M ode asinkron merupakan mode komunikasi yang pengiriman tiap bit data dilakukan tanpa menggunakan sinkronisasi clock. Transmitter yang ingin mengirimkan bit-bit data harus menyepakati suatu standar Universal Asynchronous Receive Transmit (UART) sehingga komunikasi data dilakukan dengan suatu standard yang telah disepakati terlebih dahulu oleh transmiter dan receiver. Standar UART terdapat pada IC yang dapat mengkonversi 8 bit data ke dalam aliran serial untuk dikirimkan menuju receiver, demikian sebaliknya pada saat menerima dari serial maka IC UART akan mengubah data serial menjadi 8 bit data yang selanjutnya dapat diproses. 15 Gambar 2.4 Konfigurasi pin DB 9 Male dan Female Tabel 2.5 Konfigurasi Serial pin-out pada konektor DB-9 D Type 9 pin Abbreviation Full Name Pin 3 TD Transmit Data Pin 2 RD Recieve Data Pin 7 RT S Request To Send Pin 8 CT S Clear To Send Pin 6 DSR Data Set Ready Pin 5 SG Signal Ground Pin 1 CD Carrier Detect Pin 4 DT R Data Transmit Ready Berikut merupakan fungsi masing-masing port pada serial : 1. DTR (Data terminal Ready) DTR berfungsi sebagai indicator yang berguna untuk menunjukkan kapan modem akan digunakan dan modem menset DSR untuk mengidentifikasikan bahwa modem sudah siap dan koneksi sudah tersambung. 2. RTS (Request To Send) Berfungsi untuk menset agar computer dapat meminta persetujuan untuk mengirim. 16 3. TxD (Transmit Data) Berfungsi untuk proses pengiriman data. 4. CTS (Clear To Send) Berfungsi untuk menginformasikan kepada computer bahwa modem sudah siap untuk menerima dan mengirim lewat kabel telepon. 5. DSR (Data Set Ready) Untuk mengidentifikasikan DTR. Bila DTR dibuat drop oleh computer maka akan menyebabkan kebanyakan modem menjadi terputus. Setelah terputus maka modem akan menyatakan bahwa DSR low. 6. DCD (Data Carier Detect) Pada modem, untuk mengaktifkan Jalur transmisi pada saluran komunikasi. DCD akan aktif apabila modem mendeteksi adanya carrier dalam jalur transmisi pada ujung saluran komunikasi. 7. RI (Ring Indicator) Pada modem, merupakan pendeteksi adanya sinyal telepon yang masuk pada saluran modem. RI akan aktif apabila ada yang menggunakan jalur komunikasi telepon. 2.2 Transmisi Data Suatu standar telah dikembangkan untuk memastikan kompatibilitas antara unit-unit yang didukung oleh beberapa manufaktur yang berbeda dalam melakukan trasnfer data yang berbeda dengan jarak atau data rates tertentu. Electronic Industry Association (EIA) telah memproduksi berbagai macam standard diantaranya RS485, RS422, RS232, dan RS423 yang berfungsi untuk komunikasi data. Standard ini telah diuji coba dengan berbagai macam problem 17 praktis dan menghadapi bermacam-macam tipe jaringan. RS itu sendiri merupakan kepanjangan dari Recommended Standard. Ada 2 jenis metode transmisi data yaitu single ended dan differential. A. Single Ended Data Transmission M erupakan jenis komunikasi yang pengiriman datanya dilakukan dari 1 transmitter ke receiver lainnya. M empunyai data rates yang relative lambat yaitu sekitar 20Kbits / sekon. Dan juga jarak yang hanya mencapai 50 ft pada saat data rate maksimum. Komunikasi single ended ini diterapkan pada RS232 dan RS423. Sinyal tersebut direpresentasikan oleh level tegangan antara TX terhadap ground dan juga RX terhadap ground. B. Differential Data Transmission Differential Data Transmission dipakai ketika membutuhkan data rates yang tinggi atau jarak komunikasi yang jauh. Sinyal differential dapat menekan sinyal noise yang dapat muncul sebagai common mode voltages pada suatu jaringan. Berikut adalah perbedaan spesifikasi antara RS232, RS423, RS422, dan RS485. Tabel 2.6 Perbedaan spesifikasi antara RS232, RS423, RS422,RS485 Specification RS232 RS423 RS422 RS485 Single Single Differential Differential Ended Ended 1Driver 1 Driver 1 Driver 32 Driver Mode of Operation Total Number of Driver 18 and Receiver 10 Receiver 32 Receiver 4000 Ft 4000 Ft 4000 Ft 100kb/s 10Kb/s – 10Kb/s – 100Kb/s 100Kb/s -0.25V to -7V to +6V +12V +/- 3.6V +/- 2.0V +/- 1.5V +/- 25V +/- 6V +/- 6V +/- 6V 3k to 7k >=450 100 54 N/A N/A N/A +/-100µA +/-6mA +/-100µA +/-100µA +/-100µA 1 10 Receiver Receiver 50 Ft 20 kb/s Maximum Cable Length Maxinmum Data Rate +/- 25V +/-6V Maximum Driver output Voltage +/- 5V Driver output signal level to +/(loaded Min) 15V Driver output signal level (Unloaded Max) Driver Load Impedance (Ohms) Max Driver Current in High Z State (Power ON) Max Driver Current in @ +/-2V High Z State (Power OFF) 19 30V / Adjustabl µS e +/-15V +/-12V N/A N/A -10V to +10V -7V to Slew Rate(Max) Receiver Input Voltage +12V Range +/- 3V +/- +/- 200mV +/- 200mV 4k min. >= 12k Receiver Input Sensitivity 200mV 3k to 7k 4k min. Receiver Input Resistance 2.3 Reed S witch Gambar 2.5 Reed Switch Reed switch merupakan switch yang bekerja berdasarkan ada tidaknya medan magnet yang mempengaruhi switch. Switch ini berbentuk tabung yang didalamnya mempunyai 2 buah lempengan logam yang terbuat dari nikel dan besi (NiFe) dimana secara umum keadaan si reed switch ini adalah normaly open. Ketika magnet diletakkan di dekat reed switch maka yang terjadi adalah 2 lempengan logam di dalam tabung akan menempel dan switch ini akan tersambung sehingga keadaanya adalah normally closed. Ketika magnet dijauhkan dari switch ini, maka reed switch akan kembali ke posisi semula yaitu normally open. 20 Ada 2 kondisi yang dinamakan Pull In (PI) dan Drop Out (DO). Pull In adalah titik dimana reed switch terhubung tertutup. Sedangkan Drop Out adalah titik dimana reed switch terhubung terbuka. Pengukuran reed switch dihitung dalam milliTesla(mT). M iliTesla mengindikasikan seberapa besar kekuatan medan magnet untuk membuat contact reed switch terbuka maupun tertutup. 2.4 Catur Cina (Xiang Qi) Xiangqi merupakan permainan dari Cina yang dimainkan oleh dua orang dan termasuk dalam permainan papan berstrategi sekelompok dengan catur, shogi dari Jepang, dan janggi dari Korea. Permainan ini menggunakan bidak-bidak, mirip dengan catur. Terdapat bidak Raja, Patih (Perdana M enteri), Gajah, Kuda, Benteng, dan Prajurit. Bidak Raja dalam catur Cina hanya bisa dijalankan di empat kotak, konon sesuai dengan fungsi Raja yang tidak boleh keluar di lingkungan istana. Bidak Gajah dijalankan di kotak empat miring dan tidak menyeberang ke daerah lawan. Bidak Kuda, Benteng, dan prajurit langkahnya hampir sama dengan catur biasa.Ada sedikit keunikan dalam permainan ini adalah adanya bidak M eriam, yang memiliki gerak mirip dengan bidak Benteng, namun jika hendak menyerang bidak ini harus melompati satu bidak lain, baik bidak musuh maupun bidak kawan. 21 Gambar 2.6 Papan catur cina beserta bidaknya. 2.4.1 General (Raja) Gambar 2.7 Bidak Raja Raja di catur cina menyerupai Raja di catur biasa. Ketika Raja meninggal maka permainan berakhir. Raja hanya boleh berjalan 1 step langkah vertikal atau horizontal didalam istana. 2 buah Raja tidak boleh saling berhadapan satu sama lain. Namun dalam konteks ini, Raja hanya bisa menyerang raja lain jika tidak ada bidak yang menghalanginya. Penyerangan ini bernama “Raja Terbang”. 22 Gambar 2.8 Contoh pergerakan Raja Pada Gambar 2.8 Raja yang hitam mempunyai 3 kemungkinan pergerakan didalam istana. Raja hitam juga bisa menyerang Raja merah karena berada pada posisi yang1 garis dengan tidak ada bidak lain yang saling menutupi. 2.4.2 Advisor (Perdana M enteri) Gambar 2.9 Bidak Perdana M enteri 23 Perdana M enteri bergerak secara diagonal 1 langkah dan masih didalam istana. 2 buah Perdana M enteri berfungsi untuk menjaga pertahanan yang kuat ketika Raja diserang. Pada gambar 2.10 Perdana M enteri hitam mempunyai 4 kemungkinan pergerakan, sedangkan Perdana M enteri merah hanya mempunyai satu pergerakan saja. Gambar 2.10 Contoh pergerakan Perdana M enteri. 2.4.3 Elephant (Gajah) Gambar 2.11 Bidak Gajah Gajah dapat berjalan 2 langkah secara diagonal pada 1 waktu. Gajah tidak bisa menyeberangi sungai. Namun jika pada diagonal dimana Gajah akan lewat 24 terdapat bidak yang menghalangi, Gajah tidak bisa melewatinya. 2 buah Gajah dapat melindungi satu sama lain untuk membentuk pertahanan yang kuat. Pada gambar 2.12 Gajah hitam mempunyai 2 kemungkinan pergerakan. Namun Gajah merah hanya mempunyai 1 pergerakan saja karena Gajah tidak bisa menyeberangi sungai dan jalan si Gajah merah ketengah di blok oleh Soldier (Peon) hitam. Gambar 2.12 Contoh pergerakan Gajah. 2.4.4 Horse (Kuda) Gambar 2.13 Bidak Kuda 25 Kuda di xiang qi identik dengan Kuda atau Ksatria di catur. Jalannya Kuda adalah bergerak 1 langkah pada garisnya dan kemudian 1 langkah diagonal. Kuda tidak bisa melangkah apabila ada bidak yang menghalangi step pertama. Pada gambar 2.14 Kuda hitam mempunyai 8 kemungkinan pergerakan. Sedangkan Kuda merah hanya punya 2 kemungkinan pergerakan karena Peon hitam menghalangi jalannya Kuda kekiri. Gambar 2.14 Contoh pergerakan kuda 2.4.5 Chariot (Benteng) Gambar 2.15 Bidak Benteng 26 Benteng di catur cina setara dengan Bom pada catur biasa. Benteng ini berjalan banyak langkah secara horizontal atau vertikal. Bidak Benteng ini menjadi pertimbangan karena merupakan bidak terkuat di catur cina. Pada gambar 2.16 Benteng hitam mempunyai banyak step baik secara vertikal maupun horizontal. Benteng hitam bisa juga memakan Benteng merah. Gambar 2.16 Contoh pergerakan Benteng 2.4.6 Cannon (M eriam) Gambar 2.17 Bidak Cannon Bidak Cannon bergerak seperti Chariot kecuali satu. Yaitu Cannon hanya bisa menyerang bidak lain dengan cara melompat bidak lain (termasuk sewarna). 27 Penyerangan jarak jauh ini membuat si Cannon menjadi bidak yang powerful. Tetapi kadang karena menyerang bidak musuh harus melompati bidak yang lainnya menjadi satu kelemahan tersendiri yang dimiliki oleh si Cannon. Pada gambar 2.18 Cannon hitam mempunyai banyak kemungkinan langkah. Cannon hitam ini juga dapat menyerah si Gajah merah. Gambar 2.18 Contoh pergerakan Cannon 2.4.7 Soldier (Prajurit) Gambar 2.19 Bidak Peon Bidak Prajurit atau Peon hanya dapat berjalan 1 step pada tiap gilirannya. Bidak ini hanya dapat berjalan kedepan sebelum menyeberangi sungai. Ketika Peon ini telah menyebrangi sungai, maka bidak ini dapat begerak dari 1 titik ke 28 1titik kecuali ke belakang. Bidak ini menyerangnya selalu memakan bidak yang ada didepannya. Bukan diagonal seperti Peon yang ada di catur biasa. Pada gambar 2.20 Peon hitam dapat bergerak satu langkah kedepan. Setelah Peon merah menyebrangi sungai maka Peon merah bisa bergerak kekiri atau kekanan dan juga bisa memakan Cannon yang ada didepannya. Gambar 2.20 Contoh pergerakan Peon 2.5 Rangkaian Matrix Rangkaian matrix terdiri dari baris dan kolom yang terbuat dari kabel. Dalam hal ini contoh yang mudah adalah keyboard 4 tombol. Ketika sebuah tombol keyboard ditekan maka sebuah kabel pada kolom akan tersambung dengan sebuah kabel pada baris dan membentuk suatu rangkaian tertutup. Sehingga controller keyboard akan mendeteksi kalau rangkaian tersambung dan berasumsi kalau ada sebuah tombol yang ditekan. 29 Gambar 2.21 Simple matrix keyboard 4 tombol Pada gambar 2.21 merupakan keyboard dengan 4 buah tombol yaitu A,B,C, dan D. Setiap tombol punya lokasi yang unik . Tombol A berada pada titik C1R1, tombol B berada pada titik C2R1, tombol C berada pada titik C1R2, dan tombol D berada pada titik C2R2. Rangkaian elektronik pada gambar 2.21 bisa dilihat pada gambar 2.22 Gambar 2.22 Rangkaian switch open keyboard 4 tombol Untuk mendeteksi ada tidak nya tombol yang tertekan maka controller akan melakukan scanning semua kolom satu persatu. Ketika sebuah kolom sedang aktif maka controller bisa mendeteksi baris mana yang sedang aktif. 30 Gambar 2.23 Controller melakukan scanning kolom C1. Pada gambar 2.23 Baik tombol A dan tombol C sama-sama tidak ditekan. M eskipun R1 dan R2 aktif , controller sekarang tahu bahwa titik C1R1 dan C1R2 tidak aktif. Kemudian akan mengaktifkan kolom C2 dan mengecek baris R1 dan R2 kembali. Gambar 2.24 Controller melakukan scanning kolom C2 Pada gambar 2.24 Baik tombol B dan tombol D sama-sama tidak ditekan. M eskipun R1 dan R2 aktif, controller akan tahu bahwa titik C2R1 dan C2R2 tidak aktif. Apabila tombol A ditekan maka yang terjadi adalah seperti gambar 2.25 31 Gambar 2.25 Tombol A ditekan sehingga switch A tersambung. Pada gambar 2.25 controller mengaktifkan kolom C1 dan akan mendeteksi baris mana yang sekarang aktif. Dari gambar 2.25 diketahui bahwa baris R1 sedang aktif maka controller tahu bahwa titik C1R1 ada penekanan dan titik tersebut adalah milik tombol A. 2.6 Ghosting effect dan penanggulangannya Pada bagian bab 2.5 dibahas bagaimana cara scanning dan apa yang terjadi apabila terdapat penekanan 1 tombol. Dengan menggunakan contoh keyboard 4 tombol, ghosting terjadi ketika terdapat 3 buah tombol yang ditekan secara bersamaan. Gambar 2.26 3 buah tombol ditekan pada saat bersamaan. 32 Pada kondisi seperti gambar 2.26 apabila semua berjalan dengan baik maka controller akan mendeteksi titik C1R1, C2R1, dan C2R2. Apabila dilihat rangkaiannya menjadi seperti berikut. Gambar 2.27 Switch A,B,dan D tersambung Gambar 2.28 Kolom C1 aktif membuat tombol C seolah-olah tertekan Pada gambar 2.28 kolom C1 aktif, dan mengakibatkan ada yang tidak beres pada gambar rangkaian tersebut. Baris R1 dan baris R2 aktif. Sehingga titik C1R1 dan C1R2 aktif juga Titik C1R1 identik dengan tombol A ditekan. Sedangkan titik C1R2 identik dengan tombol C. Padahal switch tombol C terbuka dan tombol C tidak ditekan. Tetapi keyboard controller tidak tahu ini dan menganggap bahwa tombol C ditekan. Inilah yang disebut ghosting. Tombol C tidak ditekan namun controller menganggap bahwa tombol 33 C ada yang menekan dikarenakan rangkaiannya kurang sempurna. Untuk mengatasi masalah tersebut perlu ditambahkan 1 buah komponen yaitu dioda. Gambar 2.29 Skematik rangkaian dengan dioda. Dengan rangkaian seperti gambar 2.29 ghosting bisa terhindar karena arus di blok oleh dioda. Berikut adalah gambar rangkaian ketika kolom C1 aktif. Gambar 2.30 C1 aktif pada keyboard 4 tombol dengan dioda Pada gambar 2.30 ketika C1 aktif, hanya baris R1 saja yang aktif. Titik C2R1 tidak aktif karena arus terblok oleh dioda. Bandingkan dengan gambar 2.28 yang tidak memakai dioda. Ketika C1 aktif maka semua ikut aktif yang menyebabkan tombol C 34 pun seolah-olah tertekan. Dengan adanya dioda, ketika C1 aktif maka controller mendeteksi adanya tombol A yang tertekan. Sedangkan tombol B dan D akan terdeteksi ketika C2 aktif. Gambar 2.31C2 aktif pada keyboard 4 tombol dengan dioda. Ketika C2 aktif maka tombol B dan tombol D akan terdeteksi oleh controller. Tombol C tidak terdeteksi karena switch nya terbuka dan terblok oleh dioda. Sehingga ghosting pada rangkaian tersebut bisa diatasi. 2.7 RS -485 Gambar 2.32 Topologi Jaringan komunikasi RS485. 35 Ketika ingin mengirim sejumlah blok kecil data atau informasi pada jarak yang sangat jauh, RS-485 sangat cukup fleksibel untuk menyediakan pilihan driver, receiver, dan komponen lainnya bergantung pada panjang kabel, data rate, jumlah node. Sebuah jaringan RS-485 dapat mencapai 32 unit driver dengan tiap driver dapat menangani 32 receiver. Jarak yang ditempuh RS-485 juga cukup jauh yaitu mencapai 4000 feet pada kecepatan 90kbps, 400 feet pada kecepatan 1M bps dan hanya mencapai 50 feet pada kecepatan 10M bps. Untuk memperbanyak titik atau memperpanjang jarak yang ditempuh, perlu digunakan repeater untuk meregenerasi sinyal dan memberi jalur RS485 yang baru. Kebanyakan dari RS 485 menggunakan protokol asinkronous yang di support oleh UART pada PC terdiri dari start bit, data bit, parity bit (optional), dan stop bit. Alasan utama mengapa jalur RS-485 dapat diperpanjang menjadi jauh karena RS-485 menggunakan differential signal. 2 kabel (biasanya twisted pair) membawa sinyal tegangan dan kebalikannya. Receiver RS-485 mendeteksi perbedaan tegangan antara 2 titik. Berbeda dengan interface lain seperti RS-232 yang unbalanced. RS-232 menggunakan single ended. Receiver RS-232 mendeteksi perbedaan tegangan antara sinyal tegangan dan common ground. Kabel ground cenderung terganggu karena membawa arus balik untuk semua sinyal yang ada pada interface tersebut. Noise apapun yang masuk ke kabel ground dari sumber lain akan membuat kabel ground menyebabkan receiver salah membaca level logic yang dikirim. Jalur non-inverting terdapat pada jalur A. Sedangkan jalur inverting terdapat pada jalur B. RS-485 receiver harus melihat perbedaan tegangan sekitar 200mV antara A dan B. Jika tegangan A sedikitnya bernilai 200mV lebih besar dari pada B maka nilai output adalah logic low. Tetapi jika tegangan B sedikitnya bernilai 200mV lebih besar 36 dari pada A maka nilai output adalah logic high. Untuk perbedaan kurang dari 200mV maka output nya undefined. Jalur yang digunakan pada interface ini kebanyakan memakai twisted pairs karena kemampuan kabel tersebut yang dapat mereduksi elektromagnet dan sejumlah noise. Gambar 2.33 General Purpose RS-485 Network Pada gambar diatas, tiap node memakai Transeceiver SN75176B dari Texas Instrument menggunakan interface RS-485 yang terdiri dari 2 jalur dan sebuah TTL driver input dan receiver output serta TTL enable input. Rangkaian diatas memakai 37 120Ω resistor terminating yang tersambung secara pararel hanya pada di ujung dari jalur rangkaian. Di ujung rangkaian juga terdapat 2 buah 560Ω biasing resistor. Resistor terminating berfungsi untuk meredam tegangan refleksi yang menyebabkan receiver bisa salah membaca level logic. Dengan adanya termination dapat menghilangkan refleksi dengan membuat initial current dan final current sama. Pada jalur tanpa termination, tegangan refleksi terjadi ketika initial current mencapai receiver. Input receiver hanya menyerap sebagian kecil arus. Sedangkan sisanya akan kembali ke driver. Ketika arus nya balik ke driver akan menghasilkan tegangan pada jalur. Akibatnya, receiver akan mendapatkan tegangan yang lebih besar daripada yang di kirim. Untuk mengatasinya diperlukan resistor termination yang membuat impedansi di jalurnya sama. Sehingga tegangan refleksi dapat dihilangkan. Dengan tidak adanya termination dan tidak ada driver yang enable, resistor bias akan membuat jalur A lebih positif daripada jalur B. Ketika ditambah resistor termination perbedaan tegangan antara jalur A dan jalur B akan menyusut sampai milivolts. Lebih kecil daripada 200mV yang dibutuhkan. Untuk mendapatkan perbedaan tegangan yang lebih besar dan imunitas noise yang lebih tinggi pada saat idle, gunakan nilai resistor yang lebih kecil. Untuk menghemat konsumsi daya dan perbedaaan tegangan yang lebih besar, gunakan nilai resistor yang lebih besar. 38 2.8 IC CD4017 Gambar 2.34 Konfigurasi pin IC CD4017 IC 4017 merupakan IC Johnson Counter yang output nya telah di decode. IC ini mempunyai 11 bit output yang terdiri dari 10 bit decode output dan 1 bit carry out. Johnson counter bekerja dengan melakukan count mirip dengan shift register. Berikut adalah keterangan dari konfigurasi pin IC CD4017. Tabel 2.7 Keterangan Konfigurasi pin IC CD4017 Pin No Name and Function 1,2,3,4,5,6,7,9,10,11 Decoded Output 8 GND / VSS 12 CARRY OUT 13 CLOCK ENABLE 14 CLOCK 15 RESET 16 VDD 39 IC ini membutuhkan VDD sebesar 5 V dan pada pin nomor 8 disambung dengan ground. Jika pin RESET diaktifkan yaitu diberi logic HIGH maka semua output akan bernilai LOW kecuali pin decoded output 0 pada pin 3 bernilai HIGH. Pin CLOCK ENABLE diberi logic LOW menyebabkan pin CLOCK bisa aktif. Jika pin CLOCK aktif dan diberi sinyal pulse maka output akan melakukan counter. Apabila pin CLOCK ENABLE diberi logic HIGH maka meskipun pin CLOCK diberi sinyal pulse mengakibatkan output akan mempertahankan kondisi sebelumnya. Untuk lebih jelasnya dapat dilihat pada timing diagrams berikut ini pada gambar 2.35. Gambar 2.35 Timing Diagrams IC CD4017 40 2.9 IC MAX 232 Gambar 2.36 Konfigurasi pin IC M AX232 MAX 232 merupakan IC peubah level tegangan yang dikeluarkan serial komputer (High = -12 Volt dan Low = +12 Volt) menjadi level tegangan mikrokontroller (High = 5 volt dan Low = 0Volt). Sebuah IC M AX 232 bisa menangani 2 buah driver dan receiver secara bersamaan yang berguna untuk komunikasi dari dan ke serial PC ke mikrokontroller. IC ini mempunyai 16 pin dimana konfigurasi nya bisa dilihat pada gambar 2.37. Gambar 2.37 Operating Circuit M AX232 41 Tabel 2.8 Keterangan konfigurasi pin IC M AX 232 Pin No Name and Function 1 dan 3 C1+ dan C1- 4 dan 5 C2+ dan C2- 2 Vs+ 6 Vs- 16 VCC 15 GND 11 dan 10 Driver from CMOS or TTL 12 dan 9 Receiver to CMOS or TTL 14 dan 7 EIA-232 output 13 dan 8 EIA-232 input IC ini menggunakan supply VCC sebesar 5Volt dengan pin nomor 15 tersambung oleh ground. IC ini bisa menangani 2 buah komunikasi antara serial PC dengan mikrokontroller. Pada gambar 2.43 merupakan operating circuit IC M AX 232. Secara rangkaian, IC ini memakai 5 buah kapasitor 1µF dimana pada VCC diserikan dengan kapasitor by pass. Kapasitor yang digunakan adalah jenis polar dimana pemasangannya tidak boleh terbalik. Pada pemasangannya, pin 11 atau 10 tersambung ke pin TD pada mikrokontroller. Pin 12 atau 9 tersambung ke pin RD mikrokontroller. Sedangkan pada pin 14 atau 7 tersambung ke pin RD pada port serial komputer, dan pada pin 13 atau 8 tersambung ke pin TD pada port serial komputer. Untuk lebih jelasnya, bisa dilihat pada gambar 2.4 konfigurasi pin DB-9 female dan male. 42 2.10 74HC595 Gambar 2.38 Konfigurasi pin IC 74HC595 75HC595 M erupakan IC 1 bit serial in dan 8 bit serial or pararel output dengan 3 state output. IC ini berfungsi sebagai shift register dan mempunyai master reset untuk clear semua output secara langsung. IC ini mempunyai 16 pin dimana pin 15 adalah VCC dan pin 8 nya adalah pin ground. Berikut adalah tabel konfigurasi pin IC 74HC595. Tabel 2.9 Keterangan Konfigurasi pin IC 74HC595 Pin 1-7 Simbol Deskripsi Q1, Q2, Q3, Q4, Q5, Q6, Q7 Parallel data output 8 GND Ground (0V) 9 Q7’ Serial Data Output 10 MR Master Reset (active LOW) 11 SH_CP Shift Register Clock Input 12 ST _CP Storage Register Clock Input 13 OE Output Enable (active LOW) 14 DS Serial Data Input 43 15 Q0 Parallel data output 16 Vcc Positive Supply Voltage Gambar 2.39 Tabel Kebenaran IC 74HC595 2.11 IC FT232RL Gambar 2.40 konfigurasi pin IC FT232 44 IC FT232 digunakan sebagai IC konverter dari 232 ke 485. IC ini memakai peripheralnya yang berupa USB. IC ini mengubah level tegangan pada serial komputer menjadi serial untuk 485. Terdiri dari 28 pin, oleh pabrikannya pin-pin IC nya dibagi menjadi 4 grup besar yaitu USB interface group, Power dan Ground group, Miscellaneous signal group, UART interface dan CBUS group yang dikelompokkan pada tabel 2.10, 2.11, 2.12, dan 2.13. Tabel 2.10 USB interface group Nomor Nama Type Keterangan 14 USBDP I/O USB data signal plus 15 USBDM I/O USB data signal minus Pin Tabel 2.11 Power dan Ground group Nomor Nama Type Keterangan VCCIO PWR Supply untuk UART interface dan CBUS Pin 1 dengan range +1.8V sampai +5.25V 4,17,20 GND PWR Ground 16 3V3OUT OUT Keluaran tegangan sebesar +3.3 V. Dikopling dengan kapasitor 100nF ke ground 19 VCC PWR +3.3V sampai +5.25V untuk supply core 24 AGND PWR Analog Ground untuk internal clock 45 Tabel 2.12 Miscellanous signal group Nomor Nama Type Keterangan 5, 12, 13, 23, 25, 29 NC NC T idak tersambung 18 RESET INPUT Active low reset. Jika tidak digunakan Pin disambung ke VCC. 26 TEST INPUT Disambung ke GND untuk test mode. 27 OSC1 INPUT Input 12M Hz oscillator cell 28 OSC0 OUTPUT Output dari 12M Hz oscillator cell Tabel 2.13 UART interface dan CBUS group Nomor Nama Type Keterangan 30 T XD Output Transmit Asynchronous Data Output. 31 DT R Output Data Terminal Ready Control Output 32 RT S Output Request to Send Control Output 2 RXD Input Receiving Asynchronous Data Input. 3 RI Input Ring Indicator Control Input. 6 DSR Input Data Set Ready Control Input 7 DCD Input Data Carrier Detect Control Input. 8 CT S Input Clear To Send Control Input 9 CBUS4 I/O Configurable CBUS output only Pin. Pin 46 2.12 10 CBUS2 I/O Configurable CBUS I/O Pin. 11 CBUS3 I/O Configurable CBUS I/O Pin. 21 CBUS1 I/O Configurable CBUS I/O Pin. 22 CBUS0 I/O Configurable CBUS I/O Pin. IC MAX 487 Gambar 2.41 Konfigurasi pin IC M AX487 IC MAX 487 merupakan keluaran dari M AXIM dimana IC ini menggunakan protokol komunikasi RS485. IC ini mempunyai 8 buah pin. Berikut adalah kegunaan masing-masing pin dari IC M AX487. Tabel 2.14 Konfigurasi pin IC MAX487 Nomor Nama Fungsi RO ( Receiver Output) A>B 200mV maka RO HIGH Pin 1 A<B 200mV maka RO LOW 2 RE (Receiver Output Enable) RE LOW maka RO aktif RE HIGH maka RO tidak atif 3 DE(Driver Ouput Enable) DE LOW maka DI High Impedance 47 DE HIGH maka DI aktif 4 DI(Driver Input) DI LOW maka A LOW B HIGH DI HIGH maka A HIGH B LOW 5 GND Ground 6 A (Non Inverting input) 7 B (Inverting Input) 8 VCC Supply 4.75V < VCC < 5.25V Karena metode komunikasinya half duplex. M aka dalam satu waktu hanya bisa transmit saja atau receive saja. Sedangkan pada differential mode pin A dan pin B. 2.13 Adobe Flash CS 3 M erupakan multimedia platform yang digunakan untuk penambahan animasi, video, dan halaman web yang interaktif. Flash sering kali digunakan untuk pembuatan iklan dan game. Flash memanipulasi vector untuk menampilkan animasi text, lukisan, dan juga gambar. Software ini mendukung untuk streaming audio, video dan dapat menangkap user input via mouse, keyboard, microphone, dan kamera. Flash memakai bahasa object oriented yang disebut Action Script. 48 Gambar 2.42 Tampilan Utama Flash CS3 2.14 XAMPP Gambar 2.43 Tampilan Utama XAMPP XAM PP merupakan software open source cross platform web server package. Sebagian besar berisi Apache HTTP Server, M ySQL database dan untuk meginterpretasi script-scirpt yang ditulis pada bahasa pemrograman PHP dan PERL. XAM PP ini digunakan sebagai development tools antara website designers dengan 49 programmer untuk mengetes hasil kerjanya di computer tanpa harus ada internet. XAM PP juga mendukung untuk membuat atau memanipulasi database pada M YSQL. Pada sistem catur yang dibuat, XAM PP digunakan untuk menyimpan data yang diterima oleh PC pada board catur dan disimpan dalam database. 2.15 COMM Tunnel M erupakan software untuk membuat proxy antara serial port dengan TCP/IP. Software ini free dan menampilkan data dalam bentuk text, hexa, maupun format desimal. Comm Tunnel mencatat serial port apa saja yang tersedia pada computer. Comm Tunnel digunakan pada sistem catur ini karena Program Flash hanya bisa menerima data melalui TCP/IP. Sedangkan pada board catur menggunakan interface serial sehingga perlu dikonversi antara data pada format serial menjadi format TCP/IP dan sebaliknya. Gambar 2.44 Tampilan Utama Comm Tunnel 50 2.16 Altium Designer M erupakan software untuk membuat skematik rangkaian, pembuatan jalur PCB pada rangkaian elektronik, pengembangan FPGA, simulasi, dan 3D CAD. Selain itu Altium designer bisa digunakan dalam pembuatan library komponen, PCB footprint dan juga tracing PCB. Dengan Altium pencetakan dan pembuatan PCB menjadi lebih mudah. Software ini berbasiskan pembuatan project dimana dalam 1 project bisa terdapat beberapa macam file. Gambar 2.45 Tampilan utama software Altium Designer 2.17 Magnet M agnet mendapat nama dari suatu tempat di Yunani yang bernama bernama M agnesia. M ineral yang ditambang di kawasan ini dinamakan Magnetite. Oleh karena itu, nama itu diturunkan menjadi 'magnet'. Orang Yunani menyebutnya Magnetic, atau Magnetos. Orang Inggris menyebutnya Lodestone karena sifatnya yang selalu menujuk ke arah Utara dan oleh karena itu dapat 51 dipakai sebagai pedoman arah. Orang Prancis menyebutnya Ament atau Batu yang Bercinta, sementara orang India menyebutnya Chumbak, batu yang berciuman. Orang Tionghoa juga mengartikan Chu She. Nama-nama ini menunjukan pada sifat gaya tarik-menarik dari batu ini. Batu magnet yang ditemukan dalam bahan tambang adalah Feri Oksida (FeO). Dari bahan ini, disiapkan magnet buatan. M agnet buatan ini disiapkan dengan tiga macam metode. • M agnet alam digosok pada bahan bagnet, sebagai hasilnya-bahan itu bersifat magnet namun dengan daya yang lemah. • Dalam metode membuat magnet dengan menggunakan listrik, kawat yang terbungkus isolasi digulungkan mengelilingi sebuah bahan magnet dan arus listrik dialirkan melewati kumparan ini. untuk periode waktu yang berbeda guna memperoleh kekuatan berbeda. Proses ini menghasilkan magnet yang lebih kuat. • Ilmuwan merancang mesin yang disebut Magnetizer yang mengubah bahan magnet menjadi magnet tanpa menggunakan kawat. M esin ini umum digunakan dewasa ini untuk membuat magnet buatan dan magnet untuk menyembuhkan. Secara umum magnet permanent terbagi atas 4 jenis, yaitu: 1. Ceramic or Ferrite Jenis magnet ini dapat ditemukan dimana saja khususnya dalam bentuk aksesoris rumah tangga, seperti magnet aksesoris kulkas, mainan anak-anak, white board, jam dinding,dan lain-lain. M agnet ini kekuatannya relatif kecil dan 52 kemampuan terapinya sangat lemah dan tidak dianjurkan untuk digunakan dalam terapi magnet. Harganya murah dan warnanya hitam. magnet ini adalah magnet paling rendah tingkatannya. 2. Alnico Jenis magnet ini dapat ditemukan di dalam alat-alat motor (kipas angin, speaker, mesin motor), juga sering dijumpai dalam perkakas rumah tangga, mainan anak-anak,dan lain-lain. M agnet ini juga sering dijumpai dalam lab sekolahan bahkan juga dapat ditemukan pada sepatu kuda yang berfungsi untuk meningkatkan daya lari kuda. M agnet ini kekuatannya relatif sedang dan kemampuan terapinya sangat lemah dan tidak dianjurkan untuk digunakan dalam terapi magnet. Harganya murah, magnet ini adalah magnet yang masih termasuk kategori berenergi rendah. 3. S amarium Cobalt (SmCo) Jenis magnet ini dapat ditemukan di dalam alat-alat elektronik seperti VCD, DVD, VCR Player, Handphone, dan banyak lagi. M agnet ini kekuatannya relatif kuat dan kemampuan terapinya biasa saja, jarang digunakan dalam terapi magnet pada umumnya. Harganya cukup mahal. magnet ini adalah magnet yang termasuk kategori berenergi sedang. 4. Neodymium Iron Boron (NdFeB or NIB) Jenis magnet ini dikenal juga dengan sebutan "King Of M agnet" yaitu raja dari segala magnet permanent yang kita sebut tadi baik dari segi kekuatan 53 magnet, daya terapi, harga, dan manfaat dalam membantu memulihkan kesehatan tubuh manusia. M agnet ini sangat terkenal diberbagai bidang kesehatan baik secara fisiotherapy dan pengobatan alternatif, juga digunakan oleh rumah sakitrumah sakit (seperti M RI), dan terapi magnet dalam pakar fisiotherapy. M agnet ini sangat dianjurkan untuk kebutuhan terapi karena memiliki energi yang sangat kuat.