Graphical User Interface untuk upload program Atmel AVR

[intense_panel shadow=”5″ border=”1px solid #a8a5a5″ margin_top=”1″]

Seperti yang sudah disebutkan pada post terdahulu, perintah pada AVRDUDE dapat diberikan langsung melalui terminal di sistem GNU/Linux (misalnya Ubuntu atau Mint). Tetapi ada kalanya cara point-and-click lebih menarik, lebih menyenangkan atau bahkan mempermudah. Di sistem Microsoft Windows maupun GNU/Linux terdapat beberapa GUI (Graphical User Interface) yang bisa dipergunakan. Di sistem Windows terdapat lebih banyak program GUI yang saya temukan daripada GUI untuk GNU/Linux.

Salah satu yang dapat bekerja baik di sistem Windows maupun GNU/Linux adalah AVRDUDESS. Blog untuk avrdudess (termasuk program untuk di-download) ada di link ini. Sedangkan kode sumber program ada di GitHub.

Sebagai contoh akan saya pakai untuk memprogram sistem papan ATtiny2313A dan ATmega8, keduanya mikrokontroler produksi Atmel (saat saya menulis halaman ini perusahaan itu telah beberapa waktu yang lalu dibeli oleh Microchip)

[/intense_panel] [su_panel border=”3px solid #33CCFF” radius=”10″]

Yang pertama adalah uji coba menggunakan papan ATtiny2313A. Papan ini saya buat sebelum sistem papan Arduino banyak tersedia dengan harga yang relatif sudah murah seperti sekarang ini. Selain mikrokontroler ATtiny2313A papan itu saya buat berisi LED dan pushbutton. Waktu itu lumayan untuk mempelajari AVR sekaligus engingat kembali cara merancang PCB sederhana.

Gambar 1.

Di Gambar 1 dapat dilihat beberapa tombol pilihan untuk mengoperasikan AVRDUDE melalui AVRDUDES. Pertama, pastikan terlebuh dahulu bahwa perangkat programmer yang kita pilh sudah benar-benar sesuai dengan perangkat keras yang kita pakai. Dalam hal ini saya menggunakan USBasp. Kedua pilihlah Bit Clock yang sesuai, sebab beberapa sistem target tidak dapat merespon dengan baik jika diatur terlalu cepat. Kurangi frekuensi jika target dilaporkan tidak merespon dengan baik. Tiga, pilihan opsi -e untuk melakukan penghapusan dapat dipakai untuk beberapa skenario. Misalnya untuk sekadar menghapus program pada μC target tanpa mengisi ulang program. Bisa juga dipakai untuk memastikan bahwa isi sebelumnya benar-benar telah terhapus. Saya menemui beberapa papan yang akan beberapa kali mengalami kesalahan jika tidak diperintah dengan opsi ini.

Empat, perhatikan tulisan perintah untuk avrdude. Inilah perintah manual yang akan dieksekusi yang berasal dari pilihan yang dilakukan oleh pengguna melalui bantuan GUI avrdudess. Perhatikan opsi -B ditulis dengan cara berbeda, berkebalikan dari pilihan via GUI pada langkah dua. Lima, tekan tombol detect untuk secara otomatis mendeteksi tipe mikrokontroler yang sudah terhubung di programmer. Tombol ini juga saya pakai untuk mencoba kondisi sistem pemrograman, apakah sudah terhubung dengan baik dan apakah μC dalam kondisi baik dan siap untuk diprogram. Enam, yang saya tandai dengan kotak berwarna merah itu berfungsi untuk mengetahui konfigurasi fuse pada μC. Di sistem Atmel AVR fuse memegang peranan penting, dan kesalahan pada pengaturannya seringkali membuat μC tidak lagi mudah untuk diprogram (perlu perangkat berbeda untuk fuse reset).

Gambar 2.

Hasil eksekusi program terlihat di Gambar 3, pin: PB2, PB3, PB4, PB5.

Gambar 3. Papan ATtiny2313A

[/su_panel] [su_panel border=”3px solid #D8067D” radius=”10″]

Pengoperasian avrdudess (Gambar 4) untuk sistem papan ATmega8 tidak berbeda dari sebelumnya (Gambar 1). Berbeda dengan ATmega328P yang memiliki memori program sebesar 32 KB, ATmega8 hanya memiliki 8 KB, sekalipun secara fisik keduanya sama. Di pasaran lokal Indonesia (saat saya menulis ini) harganya sudah tidak jauh berbeda, selilish sekitar lima ribu rupiah.

Gambar 4.

Hasil eksekusi terlihat pada Gambar 5; LED pada PC0, PC1, PC2, PC3, PC4, PC5.

Gambar 5.

[/su_panel]