You are on page 1of 20

BAB 5

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.

Gambar 5.1 Peta Pembelajaran Bab 5

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].

5.2 Proses Instalasi WinAVR

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.

Gambar 5.2 Tampilan Saat Awal Instalasi

88

ROBOT BERKAMERA

Pilih bahasa untuk proses instalasi, lalu klik OK, lalu muncul seperti tampak pada Gambar 5.3 dan klik Next.

Gambar 5.3 Tampilan Welcome Setup Wizard

Kemudian muncul seperti pada Gambar 5.4, klik I Agree.

Gambar 5.4 Tampilan License Agreement

MENGENAL WINAVR

89

Pilih direktori tempat meletakkan program WinAVR (Gambar 5.5). Bila tempat peletakkan program WinAVR sesuai default bisa langsung klik Next.

Gambar 5.5 Tampilan Install Location

Lalu muncul seperti nampak pada Gambar 5.6, klik Install.

Gambar 5.6 Tampilan Select Component

90

ROBOT BERKAMERA

Tunggu proses instalasi seperti pada Gambar 5.7.

Gambar 5.7 Tampilan Proses Instalasi

Proses intalasi selesai, klik Finish untuk menutup proses instalasi (Gambar 5.8).

Gambar 5.8 Tampilan Completing Setup Wizard

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.

Gambar 5.9 Membuat Working Folder

Gambar 5.10 Working Folder dengan Nama AVR Doc

92

ROBOT BERKAMERA

5.3 Pembuatan Makefile

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.

Gambar 5.11 Menjalankan MFile

Pada toolbar MFile, klik Makefile, pilih Main file name seperti pada Gambar 5.12.

MENGENAL WINAVR

93

Gambar 5.12 Mengisi Main File Name

Gambar 5.13 Mengisikan Nama File Kode Program

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

Gambar 5.14 Pilih Jenis AVR yang Digunakan

Simpan pengaturan MFile dengan cara klik File pada toolbar, lalu klik Save As (Gambar 5.15).

Gambar 5.15 Simpan MFile

MENGENAL WINAVR

95

Ubah direktori penyimpanan ke direktori working folder yang tadi dibuat dengan nama AVR Doc (Gambar 5.16), lalu klik Save.

Gambar 5.16 Simpan pada Direktori AVR Doc

5.4 Programmers Notepad


utup program mfile, kemudian pada START menu, pilih Programmers Notepad [WinAVR] (Gambar 5.17). Program Programmers Notepad digunakan untuk menulis kode program bahasa C, dan melakukan compiling kode bahasa C tersebut.

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

Gambar 5.17 Menjalankan Programmers Notepad

Gambar 5.18 New C File

MENGENAL WINAVR

97

Gambar 5.19 Pilih Save As

Gambar 5.20 Memberi Nama coba.c

98

ROBOT BERKAMERA

5.5 Proses Compile


etelah pengaturan selesai, kemudian menuliskan program sederhana pada working window dengan nama file yang telah dibuat (*kita lewati dulu proses penulisan kode program karena penulisan kode program dibahas pada Bab selanjutnya). Tahap selanjutnya adalah proses compiling, agar file dengan format *.c bisa diubah ke file dengan format *.hex. Caranya adalah klik Tools pada toolbar programmers notepad, lalu klik Make All seperti nampak pada Gambar 5.21.

Gambar 5.21 Proses Compile

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

5.6 Pembuatan Program Sederhana

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

Gambar 5.22 Algoritma Program Sederhana LED

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

//PORT B output //PORT C input //pull up aktif

while(1) { if(bit_is_clear(PINC, 0)) { PORTLED=0xFF; _delay_ms(200); } else { PORTLED=0x00; _delay_ms(200); } } }

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

Gambar 5.23 Kode Program dan Proses Compile

Berikut salah satu bentuk kesalahan / error.


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

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.

Gambar 5.24 Compile yang Tidak Berhasil

MENGENAL WINAVR

103

5.7 Simulasi Program

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.

Gambar 5.25 Tampilan Awal Proteus-Isis Profesional

104

ROBOT BERKAMERA

Gambar 5.26 Switch Ditekan

Gambar 5.27 Switch Tidak Ditekan

5.8 Ringkasan Singkat


Program WinAVR merupakan program open source yang digunakan untuk menuliskan kode program C dan untuk compile menjadi file berekstensi *.hex. WinAVR hanya mampu mendeteksi syntacs error dan bukan logic error. Untuk

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

1. Sebutkan kegunaan Robot Berkamera?

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

You might also like