USB Optical Mouse USB Host Shield

2.3. USB Optical Mouse

Interface yang digunakan pada kontroler lengan robot menggunakan USB optical mouse. Mouse disini dipilih karena penggunaannya yang mudah dan yang terpenting plug and play pada semua perangkat komputer jaman sekarang. Mouse sendiri terdapat beberapa bagian yang mempunyai fungsi-fungsi tersendiri seperti tombol klik kanan, tombol klik kiri, tombol klik tengah, scroll dan optik sendiri sebagai sensor penggerak pointer. Tombol-tombol tersebut dapat dibaca oleh mikrokontroler. Gambar 2.6 Konfigurasi Tombol Mouse Paket data yang dikirimkan oleh mouse ke mikrokontroler seperti pada tabel 2.5 dan pada gambar 2.7 menunjukan data yang dikirimkan tiap fungsi pada mouse. Bagian mouse dapat dilihat pada gambar 3.2. Tabel 2.5 Paket Data Mouse [9] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 2.6 Data Biner Mouse Bagian Mouse Data Hexa Data Biner Klik Kanan 02000000 0000 0010 0000 0000 0000 0000 0000 0000 Klik Kiri 01000000 0000 0001 0000 0000 0000 0000 0000 0000 Middle Button 04000000 0000 0100 0000 0000 0000 0000 0000 0000 Scroll Up 00000001 0000 0000 0000 0000 0000 0000 0000 0001 Scroll Down 000000FF 0000 0000 0000 0000 0000 0000 1111 1111 Geser X - 00FF0F00 0000 0000 1111 1111 0000 1111 0000 0000 Geser X + 00010000 0000 0000 0000 0001 0000 0000 0000 0000 Geser Y - 00001000 0000 0000 0000 0000 0001 0000 0000 0000 Geser Y + 0000F0FF 0000 0000 0000 0000 1111 0000 1111 1111

2.4. USB Host Shield

USB host shield berfungsi untuk berkomunikasi melalui USB ke perangkat arduino. Contoh dari penggunaan USB host shield seperti : kita dapat menerima masukan dari USB mousekeyboard Human Input Device HID. USB host shield menggunakan IC kontroler MAX3421E, MAX3421E dapat digunakan untuk mengakses perangkat USB mass storage. Arduino melakukan komunikasi dengan MAX3421E menggunakan SPI bus melalui header ICSP melalui pin 10,11,12, dan 13 pada ATmega328P [10]. Gambar 2.7 Konfigurasi board USB host shield[10]

2.4.1. Serial Peripheral Interface SPI

Serial Peripheral Interface SPI adalah protokol data serial sinkron digunakan oleh mikrokontroler untuk berkomunikasi dengan satu atau lebih perangkat peripheral cepat jarak pendek. Hal ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler. Dengan koneksi SPI selalu ada perangkat satu master biasanya mikrokontroler yang mengontrol perangkat peripheral. Serial Peripheral Interface SPI merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroller. SPI bus dapat dioperasikan dengan sebuah perangkat single master dan dengan satu atau lebih perangkat slave. [11] Untuk memulai komunikasi, bus master mengkonfigurasi clock, menggunakan frekuensi yang didukung oleh perangkat slave, biasanya hingga beberapa MHz. Master kemudian memilih perangkat slave dengan logika level 0 pada select line. Jika masa tunggu diperlukan, seperti untuk konversi analog ke digital, master harus menunggu setidaknya periode waktu sebelum mengeluarkan clock cycle. Selama setiap siklus clock SPI, sebuah transmisi data full duplex dua arah terjadi. Master mengirimkan satu bit pada garis MOSI dan slave membacanya, sementara slave mengirimkan satu bit pada garis MISO dan master membacanya. Urutan ini dipertahankan bahkan ketika hanya transfer data satu arah. Dalam komunikasi SPI hanya 1 bagian yang mengirimkan clock yang mana akan disebut master dan bagian lainya disebut slave. Dalam SPI, hanya satu sisi menghasilkan sinyal clock biasanya disebut CLK atau SCK untuk Serial Clock. Sisi yang menghasilkan clock disebut master, dan sisi lain disebut slave. Selalu ada hanya satu master yang hampir selalu mikrokontroler, tetapi bisa ada beberapa slave. [12] Ketika data dikirim dari master ke slave, data tersebut dikirim pada garis data yang disebut MOSI Master Out Slave In. Jika slave harus mengirim respon kembali ke master, master akan terus menghasilkan sejumlah siklus clock yang diatur sebelumnya, dan slave akan menempatkan data ke baris data yang ketiga yang disebut miso Master InSlave Out.[12] Gambar 2.8 Transfer data SPI[13] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Pin atau kaki SS slave select merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif active low. Dari gambar diagram SPi diatas anda sudah bisa membayangkan bagaimana cara SPI mentransfer data antara Master dan slave. Intinya ada di register geser 8 bit. Tiap clock dari SCK akan mempertukarkan 1 bit data , jadi untuk mempertukarkan register di master dan slave perlu 8 kali clock. contoh konkritnya begini: data di register geser master adalah 1111 1111 data di register gaser slave adalah 0000 0000[13]. Gambar 2.9 Kondisi awal transfer data[13] kemudian pada clock pertama dan kedua isi register berpindah sebagai berikut : Gambar 2.10 Perpindahan isi register clock pertama dan kedua[13] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Setelah 8 kali clock data berpindah: Gambar 2.11 Data berpindah penuh[13]

2.5. Komunikasi USB