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