«

»

Sep 23

Menulis Sketch Arduino dengan ISP Programmer

Arduino merupakan sebuah platform yang terdiri dari sebuah chip mikrokontroler AVR (ATmega8, ATmega168 dan ATmega328) yang dilengkapi dengan sebuah IDE – Integrated Development Environment untuk memprogramnya. Bahasa yang digunakan mirip dengan C/C++ (Arduino Programming Language).

Sebelum di-kompilasi, sintaksis program akan disesuaikan menjadi sintaksis C/C++ standard, untuk kemudian di-kompilasi dengan AVR-GCC.

Board Arduino umumnya dilengkapi dengan bootloader (tujuan sejak semula memang demikian), sehingga pemrogramannya tidak memerlukan bantuan hardware programmer.

Bila kita memiliki ISP programmer seperti AVR-ISP, STK500 atau Parallel Programmer, kita dapat menulis sketch ke board Arduino tanpa menggunakan bootloader. Dengan cara demikian, kita dapat menggunakan ruang untuk program secara penuh. Sebagai contoh, ATmega168 memiliki ruang untuk program 16 KB (14 KB bila dengan bootloader). Cara ini pun menghindari bootloader delay ketika board dinyalakan atau di-reset.

Untuk menggunakan programmer eksternal, perlu dilakukan sedikit perubahan pada file preferences.txt. Pastikan file ini diubah ketika IDE Arduino tidak aktif.

File ini dapat ditemukan dalam folder:

    * /Users/<USERNAME>/Library/Arduino/preferences.txt (Mac)
    * c:Documents and Settings<USERNAME>Application DataArduinopreferences.txt (Windows)
    * ~/.arduino/preferences.txt (Linux)

Harap diketahui bahwa ketika kita meng-upgrade Arduino, folder ini mungkin tidak dihapus. Bila kita menemukan masalah, hapus folder ini. File preferences.txt akan dibuat ulang ketika Arduino membuat sebuah file baru.

Ubah parameter upload.using dari bootloader ke hardware programmer yang terdaftar dalam file hardware/programmers.txt, misalnya: avrispmkii.

Bila kita akan menggunakan programmer eksternal hanya untuk board tertentu, kita dapat meng-edit file boards.txt yang terdapat dalam subdirektori hardware. Set parameter board.upload.using dengan pengenal programmer yang tercatat dalam programmers.txt. Contoh: atmega328.upload.using = avrispmkii.

Menulis Sketch

Setelah kita membuat perubahan-perubahan tersebut, kita dapat menulis sketch ke board dengan menemukan tombol Upload atau melalui menu File | Upload to I/O Board.

Dari beberapa percobaan yang dilakukan dengan software Arduino 0017 yang di-release tanggal 12-08-2009, saya menemukan adanya “bugs” ketika menggunakan hardware programmer AVRISP mkII. Pada upaya upload kedua dan seterusnya, selalu muncul pesan kesalahan avrdude: stk500v2_recv_mk2: error in USB receive.

Setelah sedikit di-oprek, masalahnya bisa diatasi, dan proses upload dengan AVRISP mkII pun berjalan dengan baik, lancar dan cepat pula. Dan AVR ATmega8535/16/32 pun bisa diprogram dengan software Arduino 😉