28 Nov 2014

0
Komentar

Programming AVR dengan Geany


Bismillahirrahmaanirrahiim.

Sebelumnya, saya telah membahas mengenai pemrograman mikrokontroler AVR di linux dengan menggunakan AVRDude. AVRDude adalah barisan perintah yang digunakan untuk dapat mengirim hasil program (.hex) ke dalam mikrokontroler AVR.  Kemudian pada posting kali ini, kita akan mencoba menggunakan Text Editor sebagai pengganti IDE berbayar seperti CodeVision dan semacamnya. Tujuannya adalah agar tidak bergantung pada IDE tertentu, dan memahami bahwa untuk melakukan programming yang dibutuhkan hanyalah teks editor biasa dan sebuah compiler.

Text Editor apapun bisa digunakan, Notepad sekalipun. Tapi disini, saya menggunakan Geany. Selain fungsinya sebagai text editor, Geany memiliki banyak fitur plugin yang bisa digunakan untuk memudahkan development program. Geany dapat mensuport berbagai bahasa pemrograman seperti C, C++, C#, Java, PHP, Python, dan lain sebagainya.

Untuk dapat memprogram Mikrokontroler AVR dengan Geany, caranya sangat mudah. Pastikan AVRDude telah terinstall (bisa dilihat di post saya sebelumnya mengenai pemrograman AVR di Linux dengan AVRDude). Untuk install Geany, silahkan download di link berikut ini : 
(Untuk Pengguna Ubuntu dapat langsung mencarinya di Software Center)
Berikut ini adalah screenshot tampilan dari Geany: 

Setting Build Command
Step berikutnya, untuk memudahkan kita dalam proses compile dan build. kita dapat mensetting Build Command. Berikut ini langkah-langkahnya:


Selanjutnya, ketikkan perintah seperti pada contoh dibawah ini (terdapat di post sebelumnya). Klik kolom pertama untuk merubah nama perintah buildnya.
Build: avr-gcc -w -Os -DF_CPU=1000000UL -mmcu=atmega8 -c -o %e.o %e.c
Link: avr-gcc -w -mmcu=atmega8 %e.o -o %e
Compile: avr-objcopy -O ihex -R .eeprom %e %e.hex


Pada perintah diatas, beberapa parameternya dapat dirubah sesuai dengan kebutuhan. Misal -mmcu, adalah tipe mikrokontroler AVR yang akan diprogram. Kemudian DF_CPU, yaitu kecepatan clock yang sedang digunakan mikrokontroler AVR tersebut.
Kemudian yang terakhir adalah perintah upload hex, pada baris Execute Command, isikan perintah berikut ini:
sudo avrdude -F -V -c usbasp -p ATmega8 -P usb -U flash:w:%e.hex

Parameter yang dapat dirubah adalah usbasp, dimana dapat diganti dengan programmer AVR yang lain, kemudian ATmega8, dapat diganti dengan tipe mikrokontroler AVR yang sedang digunakan. Untuk syntax %e, digunakan sebagai pengganti nama file. Sehingga perintah build akan otomatis mengeksekusi file yang sedang aktif tanpa perlu merubah lagi nama filenya pada Build Command.

Testing
Untuk mencoba apakah setting telah dilakukan dengan benar, maka kita bisa mencobanya langsung dengan menggunakan program sederhana berikut ini:

#include <avr/io.h>
#include <avr/delay.h>
int main(void)
{
     DDRB |= (1 << PB0) | (1 << PB1);
     while(1)
     {
            PORTB |= (1 << PB0);
            _delay_ms(500);
            PORTB = ~(1 << PB0);
            _delay_ms(500);
        }
}

Selanjutnya, buat rangkaian seperti pada gambar berikut ini:


Kemudian kita coba perintah build yang sudah kita buat sebelumnya, di main toolbar klik (Atau bisa juga menggunakan Hotkeys F8 atau F9): 1. Build > Build 2. Build > Link 3. Build > Compile Lalu jika tidak ada pesan error, kita bisa langsung menguploadnya ke mikrokontroler AVR. Jangan lupa pastikan downloader sudah terhubung dengan PC dan mikrokontroler. Klik perintah Excecute command yang sudah kita buat sebelumnya (Atau tekan F5). Akan muncul dialog terminal seperti berikut ini:


Jika tidak ada pesan Error dan LED kedap-kedip tiap setengah detik (_delay_ms(500);), maka proses uploading program berhasil.

Penutup
Sekian tutorial menggunakan text editor Geany untuk memprogram AVR. Selamat mencoba.