Analisa Pergerakan Link Hasil Pengujian Perangkat Keras

Gambar 4.13 memperlihatkan program ini menggunakan 2 library yaitu library Servo.h dan library PS3USB.h. Servo.h berfungsi mengubah output digital dari mikrokontroler dapat digunakan untuk mengatur motor servo yang mana membutuhkan output analog. Dengan library ini motor servo diatur sudutnya dari 0-180 ˚. Sedangkan library PS3USB.h mengatur komunikasi perangkat Gamepad yang terhubung ke USB host shield dengan mikrokontroler melalui ICSP bus. Pada Gambar 4.14 dan Gambar 4.15 yang ditunjuk no 1 merupakan variabel yang berisi posisi sudut motor servo 0-180 ˚ sekaligus menentukan posisi awal ketika program running. Pada no 2 merupakan variabel untuk membatasi sudut maksimal atau minimal yang dapat dicapai oleh motor servo. Pada no 3 adalah alamat pin output untuk motor servo yang berjumlah 4 pin. Sedangkan no 4 adalah variabel untuk motor servo yang akan digunakan dan antara pin output dengan variabel motor servo dihubungkan oleh no 6. Untuk bagian input dapat ditunjukkan pada no 5, dimana inputnya menggunakan Gamepad PS3 yang terhubung melalui USB.

4.3.2. Pembacaan Input dan Perintah ke Output

Gambar 4.16 Input dan Output pada Program Listing program pembacaan input dan perintah ke output dalam mikrokontroler arduino dapat dilihat pada Gambar 4.16. Pembacaan input dari USB Gamepad menggunakan komunikasi ISCP memanfaatkan port MISO, MOSI, SCK, dan RESET mikrokontroler. Menggunakan library USB host shield sehingga semua input dari Gamepad dapat terbaca TRIANGLE, CROSS, SQUARE, CIRCLE, UP, DOWN, LEFT, dan RIGHT. Sedangkan listing program output untuk menggerakkan motor servo ditunjukkan pada Gambar 4.16 juga. Menggerakkan motor servo menggunakan pulsa-pulsa yang dikeluarkan oleh mikrokontroler melalui port digital 4, 6, 7, dan 8. Motor servo digerakkan berdasarkan posisi sudut yang telah disimpan pada variabel pos1234 yang berisi sudut dari 0-180 ˚. Input Output

4.3.3. Kecepatan Motor

Kecepatan motor berkaitan dengan delay yang digunakan. Delay yang dimaksudkan adalah yang berada pada bagian void loop program, dengan semakin besarnya nilai dalam satuan milisecons yang diberikan makan proses looping program juga akan semakin lama. Letak delay ini ada di baris paling akhir sub program void loop yang dapat dilihat pada Gambar 4.17. Gambar 4.17 Delay pada Void Loop

4.3.4. Pengiriman Data ke User Melalui Serial Monitor

Pada Gambar 4.18 adalah program inisialisasi untuk memulai pembacaaan komunikasi serial dengan baudrate 115200 Hz. Pembacaan serial ini berfungsi untuk membaca data baik input atau output dari mikrokontroler. Hal ini berfungsi sebagai user interface untuk pengecekan input dan output. Contoh program untuk pembacaan data serial input dan output ini ada pada Gambar 4.19 dimana input ada pada nomor 1 dan output pada nomor 2. Gambar 4.18 Inisialisasi Pembacaan Serial Gambar 4.19 Pembacaan Serial Input dan Output Selanjutnya untuk menampilkan hasil pembacaan serial yang dilakukan adalah dengan menggunakan fitur serial monitor yang sudah ada pada monitor arduino. Tampilan serial monitor sebagai user interface dapat dilihat pada Gambar 4.20. Data yang Input Output