Professional Documents
Culture Documents
MENGENAL WINAVRTM
Robot tanpa program pengendali sulit untuk berjalan secara otomatis. Kontroler sebagai tempat program pengendali biasa digunakan adalah mikrokontroler. Pada Bab 5 ini dijelaskan tentang penggunaan program WinAVR untuk menuliskan kode program mikrokontroler jenis keluarga AVR dalam bahasa C. Setelah mempelajari Bab ini diharapkan mahasiswa memiliki enam kompetensi, yaitu: (1) mengidentifikasi proses instalasi WinAVR; (2) mengidentifikasi pembuatan makefile; (3) mengidentifikasi pemrograman sederhana pada WinAVR; (4) mengidentifikasi teknik compile pada WinAVR; (5) mendefinisikan keberhasilan compile sebuah program sederhana; (6) mengidentifikasi hasil simulasi pemrograman sederhana. Peta pembelajaran pada Bab 5 ini sebagai berikut.
87
5.1 Pengantar
inAVRTM merupakan software GUI (Graphic User Interface) open source untuk pengembangan berbagai macam pemrograman mikrokontroler keluarga jenis AVR pada Windows. Di dalam WINAVR sudah mencakup GNU GCC sebagai compiler untuk C dan C++. Program WinAVR diunduh di http://sourceforge.net/projects/winavr/files/. WinAVR digunakan Robot Berkamera untuk menulis kode program bahasa C yang sesuai dengan mikrokontroler AVR [6].
alam pembahasan ini, digunakan versi WinAVR 2007. Bila dibandingkan dengan WinAVR terbaru, WinAVR 2007 tidak memiliki perbedaan yang mendasar dengan WinAVR terbaru. Jika belum memiliki WinAVR, ada baiknya mengunduh versi terbaru. Mengenai proses instalasi dan penggunaan sama persis yang dijelaskan pada buku ini. Langkah pertama yang kebanyakan orang sudah bisa melakukannya adalah instalasi program WinAVR. jalankan aplikasi WinAVR20070525-install atau nama file instalasi WinAVR yang sudah diunduh tadi, maka akan muncul tampilan seperti Gambar 5.2.
88
ROBOT BERKAMERA
Pilih bahasa untuk proses instalasi, lalu klik OK, lalu muncul seperti tampak pada Gambar 5.3 dan klik Next.
MENGENAL WINAVR
89
Pilih direktori tempat meletakkan program WinAVR (Gambar 5.5). Bila tempat peletakkan program WinAVR sesuai default bisa langsung klik Next.
90
ROBOT BERKAMERA
Proses intalasi selesai, klik Finish untuk menutup proses instalasi (Gambar 5.8).
MENGENAL WINAVR
91
Sampai di sini proses instalasi WinAVR sudah selesai. Selanjutnya untuk memudahkan pembahasan maka dibuat sebuah folder yang sama agar tidak membingungkan pada pembahasan selanjutnya. Buatlah working folder dengan langkah seperti pada Gambar 5.9 dan Gambar 5.10 untuk mengelompokan data AVR.
92
ROBOT BERKAMERA
ebelum memulai membuat kode program berbasis C, harus dilakukan dulu pengaturan untuk memberitahu compiler WinAVR jenis IC AVR apa yang digunakan, dan nama file program apa yang dibuat. Pengaturan ini dilakukan dengan membuat file dengan nama makefile. Semua pengaturan ada di file tersebut. Pada START menu, pilih MFile, seperti terlihat pada Gambar 5.11.
Pada toolbar MFile, klik Makefile, pilih Main file name seperti pada Gambar 5.12.
MENGENAL WINAVR
93
Pada Gambar 5.13 dapat dilihat dimasukkan coba dikarenakan nama file dari kode program C diberi nama coba.c. Jadi kalau lain kali menulis kode program C dan file diberi nama hendi.c maka harus memasukkan hendi saja pada bagian Main File. Pilihlah jenis AVR yang digunakan, dengan klik Makefile pada toolbar, pilih MCU type ATMega, lalu terdapat banyak macam AVR yang tersedia. Pada desain Robot Berkamera ini, digunakan AVR jenis ATMega32, maka harus dipilih jenis AVR tersebut. Perhatikan Gambar 5.14.
94
ROBOT BERKAMERA
Simpan pengaturan MFile dengan cara klik File pada toolbar, lalu klik Save As (Gambar 5.15).
MENGENAL WINAVR
95
Ubah direktori penyimpanan ke direktori working folder yang tadi dibuat dengan nama AVR Doc (Gambar 5.16), lalu klik Save.
Maka muncul pertama kali working window <new>, yang secara default muncul saat pertama kali program ini dijalankan. Tutuplah working window ini untuk memulai membuat file berekstensi C. Lakukan seperti terlihat pada Gambar 5.18. Setelah itu muncul kembali working window dengan nama <new>, lalu klik File Save As (Gambar 5.19). Karena pada pengaturan Makefile untuk main filename telah diisi dengan kata coba, maka file ini harus disimpan dengan nama coba.c. Perhatikan Gambar 5.20.
96
ROBOT BERKAMERA
MENGENAL WINAVR
97
98
ROBOT BERKAMERA
Saat proses compile sudah berhasil, maka terdapat writing comment di bagian output:
Process Exit Code: 0. Time taken: **:**.
Artinya tidak ada yang salah pada pengaturan dan program yang sudah dibuat. Proses compile hanya dapat memberikan syntacs error bukan logic error.
MENGENAL WINAVR
99
inAVR menggunakan bahasa C yang merupakan High Level Language atau bahasa tingkat tinggi yang lebih mudah dipahami manusia sehingga mudah dibuat. Oleh karena itu, pada bagian ini dipelajari sebuah program sederhana untuk menyalakan LED ketika saklar ditekan. Sebelum program dibuat, perhatikan algoritma sederhana LED seperti terlihat pada Gambar 5.22. program
Catatan: PORT C dan PORT B adalah port yang digunakan pada mikrokontroler AVR dan dapat diubah sesuai keinginan. Jika switch ditekan, maka logic akan menjadi 0, karena terhubung ke ground. Rangkaian saklar yang digunakan adalah rangkaian saklar aktif low dan rangkaian LED aktif high. 100 ROBOT BERKAMERA
#include <avr/io.h> #include <util/delay.h> #define PORTLED PORTB #define DDRLED DDRB #define DDRSWITCH DDRC #define PORTSWITCH PORTC #define PINSWITCH PINC int main (void) { DDRLED = 0xFF; DDRSWITCH = 0x00; PORTSWITCH = 0xFF;
//library
Pada Gambar 5.23 dapat dilihat penulisan kode program C pada Programmers Notepad dan pada proses compile tidak terjadi error satupun. Jika program yang dibuat terdapat kesalahan, maka writing comment dibagian output:
coba.c: In function 'main': coba.c:23: error: expected ';' before '}' token make.exe: *** [coba.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:02
MENGENAL WINAVR
101
102
ROBOT BERKAMERA
Artinya, pada function main saat compile baris ke 26 terdapat error karena sebelum tidak adanya penutup }. Untuk mengetahui posisi kesalahan yang dibuat, arahkan kursor ke writing comment yang berwarna ungu lalu klik, maka pada writing window kursor akan mengarahkan secara otomatis posisi kesalahan. Seperti terlihat pada Gambar 5.24. Setelah program dilakukan proses compile, maka file coba.hex dapat disimulasikan pada Proteus 7.5.
MENGENAL WINAVR
103
roteus 7.5 adalah program simulasi rangkaian elektronika yang dibuat oleh ISIS Lab Center Electronics. Tampilan awal saat membuka program Proteus 7.5 dapat dilihat pada Gambar 5.25. Untuk memulai simulasi, ambil komponen yang diperlukan, seperti IC ATMega32, push button, dan LED. Tekan tombol PLAY untuk memulai simulasi dan tekan tombol STOP untuk mengakhiri simulasi. Pada simulasi kali ini, digunakan IC ATMega32. Executed program berekstensi *.hex perlu load ke proteus untuk mengetahui hasil simulasi. Caranya, double click IC ATMega32. Pada pilihan Program File, Browse File cari coba.hex. Hasil simulasi dapat dilihat pada Gambar 5.26 dan Gambar 5.27.
104
ROBOT BERKAMERA
MENGENAL WINAVR
105
mengetahui logic error (error yang terjadi ketika suatu kondisi tidak sesuai yang diinginkan) dapat dipergunakan bantuan program Proteus 7.5.
5.9
Pertanyaan
dari software WinAVR pada
2. Sebutkan tujuan dari pembuatan file makefile sebelum membuat kode program? 3. Sebutkan jenis ekstensi file kode program yang ditulis pada WinAVR? 4. Bagaimana tampilan dari output ketika sebuah kode program berhasil dilakukan compile? 5. Setelah berhasil dilakukan compile, file berekstensi apakah yang dihasilkan?
106
ROBOT BERKAMERA