Tujuan dan Manfaat Penelitian Batasan Masalah Arduino

1.2. Tujuan dan Manfaat Penelitian

Tujuan penelitian ini adalah dapat membuat lengan robot yang dengan mudah dikendalikan lewat mouse tanpa harus merubah program untuk melakukan gerakan- gerakan yang diinginkan. Manfaat dari penelitian alat ini bisa sebagai modul pembelajaran di dunia pendidikan, mengenalkan salah satu bentuk bagian dari robot dan bisa juga sebagai sarana hiburan bagi anak-anak maupun orang dewasa dengan begitu bisa menjadi alat untuk media belajar dan bermain.

1.3. Batasan Masalah

Batasan masalah dalam penelitian ini yaitu : a. Menggunakan empat buah motor servo. b. Menggunakan USB optical mouse. c. Menggunakan mikrokontroler ATmega328P-PU. d. Menggunakan gambar desain mekanik yang didapat secara open source.

1.4. Metodologi Penelitian

Berdasarkan tujuan yang ingin dicapai maka metode-metode yang digunakan dalam penyusunan tugas akhir ini adalah : a. Pengumpulan bahan referensi Mengumpulkan dan mempelajari berbagai informasi yang menunjang penyusunan penulisan tugas akhir ini, melalui buku maupun artikel yang ada di internet. b. Perancangan sistem hardware dan software Rancangan hardware berupa gambar desain mekanik yang sudah ada dan dilakukan modifikasi sesuai yang diinginkan. Pada software dibuat dengan sedemikian rupa dengan tujuan memudahkan pengguna, hardware dan software memerlukan penyesuaian sehingga dapat berkomunikasi dengan baik. Gambar 1.1 memperlihatkan diagram blok model yang akan dirancang. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 1.1. Diagram Blok Perancangan c. Pembuatan hardware dan koneksi dengan software Berdasarkan gambar 1.1 sistem akan bekerja saat pengguna menggerakkan mouse sebagai inputan ke lengan robot, mouse akan mengirimkan data analog ke software yang ada dalam komputer untuk diubah menjadi data digital yang akan diterima oleh Arduino kemudian Arduino mengirimkan data ke lengan robot sehingga lengan robot dapat digerakkan sesuai dengan kontroler mouse tersebut. d. Proses pengambilan data Pengambilan data dilakukan saat mouse menggerakkan per motor servo sebagai sendi pada lengan robot diukur ketepatan sudut dalam setiap pergeseran motor servo, jarak jangkauan lengan robot. e. Analisis dan penyimpulan hasil percobaan Analisis data dilakukan dengan mengecek data keluaran dari mouse dapat dibaca oleh Arduino sehingga komunikasi antara mouse dan lengan robot dapat berjalan dengan semestinya. USB Mouse MIKROKONTROLER Lengan Robot 4

BAB II DASAR TEORI

2.1. Arduino

Arduino adalah pengendali mikro single-board yang bersifat open source yang dirancang untuk memudahkan penggunaan barang elektronik dalam berbagai bidang. Hardwarenya mempunyai prosesor ATmega328P-PU pabrikan Atmel dan softwarenya memiliki bahasa pemrograman sendiri [2]. Arduino mempunyai sebuah konektor USB Universal Serial Bus, konektor power dan tombol reset. Arduino memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor. Kegunaan Arduino disini sebagai kontroler pembacaan input dari mouse dan menjadikan output ke motor servo yang ada di lengan robot. Gambar 2.1 Konfigurasi pin ATmega328[3] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 2.2 Tampilan IDE Arduino Tabel 2.1 Keterangan Tombol Pada Tampilan IDE Arduino No. Tombol Nama Fungsi 1 Verify Menguji apakah ada kesalahan pada program atau sketch. Apabila sketch sudah benar, maka sketch tersebut akan dikompilasi. Kompilasi adalah proses mengubah kode program ke dalam kode mesin. 2 Upload Mengirimkan kode mesin hasil kompilasi ke board Arduino 3 New Membuat sketch yang baru 4 Open Membuka sketch yang sudah ada 5 Save Menyimpan sketch 6 Serial Monitor Menampilkan data yang dikirim dan diterima melalui komunikasi serial. IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk mendeteksi board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan tersebut adalah mengatur jenis board yang digunakan sesuai dengan board yang terpasang dan mengatur jalur komunikasi data melalui perintah Serial Port. Kedua pengaturan tersebut dapat ditemukan pada pull down menu Tools. Arduino memiliki beberapa kelebihan dibandingkan dengan platform elektronik lainnya [4]. Beberapa kelebihan arduino sebagai berikut : a. Open Source Hardware maupun software Arduino adalah open source. Artinya kita bisa membuat tiruan atau clone atau board yang kompatibel dengan board Arduino tanpa harus membeli board asli buatan Italy. Kalaupun kita membuat board yang persis dengan desain asli, kita tidak akan dianggap membajak asalkan tidak menggunakan trade mark ‘Arduino’. b. Tidak memerlukan chip programmer Chip pada Arduino sudah dilengkapi dengan bootloader yang akan menangani proses upload dari komputer. Dengan adanya bootloader ini kita tidak memerlukan chip programmer lagi, kecuali untuk menanamkan bootloader pada chip yang masih blank. c. Koneksi USB Sambungan dari komputer ke board Arduino menggunakan USB, bukan serial atau parallel port. Sehingga akan mudah menghubungkan Arduino ke PC atau laptop yang tidak memiliki serialparallel port. d. Fasilitas chip yang cukup lengkap Arduino menggunakan chip AVR ATmega 168328 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protokol yang berbeda-beda. e. Ukuran kecil dan mudah dibawa Ukuran board Arduino cukup kecil, mudah di bawah kemana-mana bersama laptop atau dimasukan ke dalam saku. f. Bahasa pemrograman relatif mudah Walaupun bahasa pemrograman Arduino adalah bahasa CC++, tetapi dengan penambahan library dan fungsi-fungsi standar membuat pemrograman Arduino lebih mudah dipelajari dan lebih manusiawi. Contoh, untuk mengirimkan nilai HIGH pada pin 10 pada Arduino, cukup menggunakan fungsi digitalWrite10, HIGH; Sedangkan kalau menggunakan bahasa C aslinya adalah PORTB |=12; g. Tersedia library gratis Tersedia library yang sangat banyak untuk menghubungkan Arduino dengan macam-macam sensor, aktuator maupun modul komunikasi. Misalnya library untuk mouse, keyboard, servo, GPS, dsb. Berhubung Arduino adalah open source, maka library-library ini juga open source dan dapat di download gratis di website Arduino. h. Komunitas open source yang saling mendukung Software Linux, PHP, MySQL atau WordPress perkembangannya begitu pesat karena merupakan software open source dimana ada komunitas yang saling mendukung pengembangan proyek. Demikian juga dengan Arduino, pengembangan hardware dan software Arduino didukung oleh pencinta elektronika dan pemrograman di seluruh dunia. Contoh, interface USB pada Arduino Uno mengambil dari LUFA project. Library dan contoh-contoh program adalah sumbangan dari beberapa programmer mikrokontroler, seperti Tom Igoe, dsb.

2.1.1. Konfigurasi Pin ATmega328P-PU

Dalam penelitian ini menggunakan mikrokotroler tipe ATmega328P-PU, mikrokontroler ini sudah terintegrasi dengan board Arduino sehingga mudah untuk digunakan dan memiliki fitur-fitur yang sudah lengkap. ATmega328P-PU adalah sebuah mikrokontroller yang biasa dipakai pada modul mikrokontroller arduino. Ukuran flash memorinya yang cukup besar yaitu 32kb dapat memungkinkan kamu membuat project mikrokontroller dari yang termudah hingga cukup rumit tanpa harus khawatir kehabisan memori flash maupun ram[5]. Gambar konfigurasi pin ATmega328P-PU dapat dilihat pada gambar 2.3 : Gambar 2.3 Konfigurasi Pin ATmega328P-PU[5] ATmega328P-PU memiliki 3 buah Port utama yaitu port B, port C, dan port D dengan total pin input output sebanyak 23 pin. port tersebut dapat difungsikan sebagai inputoutput digital atau difungsikan sebagai kelengkapan alat lainnya. Dari gambar diatas dapat dijelaskan kegunaan masing-masing pin pada ATmega328P-PU sebagai berikut : 1. VCC merupakan pin yang berfungsi sebagai input catu daya. 2. GND merupakan pin ground 3. Port B portB0...portB5 merupakan jalur data 8 bit yang dapat difungsikan sebagai inputoutput. Selain itu port B memiliki fungsi khusus dapat dilihat pada tabel 2.2. Tabel 2.2 Fungsi Khusus port B[5] Pin Keterangan PB0 ICP1 berfungsi sebagai timer counter 1 input capture pin PB1 OC1A dapat difungsikan sebagai keluaran PWM Pulse With Modulation PB2 OC1B dapat difungsikan sebagai keluaran PWM Pulse With Modulation, SS merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman serial ISP Tabel 2.2 Lanjutan Fungsi Khusus port B PB3 OC2A dapat difungsikan sebagai keluaran PWM Pulse With Modulation, MOSI merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman serial ISP PB4 MISO merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur pemrograman serial ISP PB5 SCK merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur pemrograman serial ISP, PB6 Pin reset PB7 TOSC2 berfungsi sebagai sumber clock external untuk timer, XTAL2 merupakan sumber clock utama mikrokontroler 4. Port C portC0...portC5 merupakan jalur data 7 bit yang dapat difungsikan sebagai inputouput digital. Tabel 2.3 menunjukan fungsi khusus dari port C. Tabel 2.3 Fungsi Khusus port C[5] Pin Keterangan PC0 ADC0 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital PC1 ADC1 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital PC2 ADC2 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital Port C 12C merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C 5. Port D portD0...PortD7 merupakan jalur data 8 bit yang masing-masing pin juga dapat difungsikan sebagai inputoutput. Port C juga memiliki fungsi khusus sebagai berikut : a. USART TXD dan RXD merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial. b. Interrupt INT0 dan INT1 merupakan pin dengan fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat program berjalan kemudian terjadi interupsi hardwaresoftware maka program utama akan berhenti dan akan menjalankan program interupsi. c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock. d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0. e. AIN0 dan AIN1 keduanya merupakan input untuk analog comparator.

2.2. Motor Servo