
Belajar Mikrokontroler AVR Tanpa Arduino
Jika seseorang pernah sebelumnya memprogram Arduino, maka secara tidak sadar ia telah menjadi seorang programmer mikrokontroler AVR. Hal ini dikarenakan Arduino ditenagai oleh mikrokontroler AVR. Kemudahan menggunakan Arduino, mulai dari rancangan hardware, boatloader hingga IDE nya membuat bahkan anak SD-pun bisa menggunakannya tanpa kesulitan banyak kesulitan.
Itulah mengapa Arduino cocok digunakan untuk pemula yang tidak memiliki latar belakang elektronika dan ingin belajar membuat project – project sederhana seperti bagaimana menyalakan LED, menggunakan sensor. Dan banyak project sederhana lainnya yang cocok untuk diperkenalkan ke anak – anak dan remaja.
Namun untuk yang memang ingin menekuni dunia teknologi elektronika embedded lebih lanjut dan secara serius. Belajar memprogram mikrokontroler berarti mempelajari bagaimana arsitektur, inti dari mikrokontroler bekerja, dimana penguasaan terhadap daleman sebuah mikrokontroler teramat penting, misalnya register – register apa saja yang terlibat jika harus menggunakan suatu yang ada pada sebuah mikrokontroler.
Misalnya di Arduino, untuk menyalakan sebuah led berkedip cukup dengan sebuah sintaks sederhana
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void setup() { | |
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output | |
} | |
// the loop function runs over and over again forever | |
void loop() { | |
digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level | |
// but actually the LED is on; this is because | |
// it is acive low on the ESP-01) | |
delay(1000); // Wait for a second | |
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH | |
delay(2000); // Wait for two seconds (to demonstrate the active low LED) | |
} |
Namun jika yang digunakan adalah pemrograman C/C++ untuk AVR dengan AVR-GCC sebagai compilernya, programnya adalah sebagai berikut
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <avr/io.h> | |
#include <util/delay.h> | |
#define F_CPU 12000000UL | |
int main(void) | |
{ | |
DDRD=0xFF; | |
while(1) | |
{ | |
PORTD=0xFF; | |
_delay_ms(2000); | |
PORTD=0x00; | |
_delay_ms(2000); | |
} | |
} | |
Jelas sekali perbedaanya bukan? Pengguna Arduino, akan disembunyikan dari melihat gambaran utuh tentang bagaimana sebuah mikrokontroler bekerja, mereka tidak mengenal struktur bahasa pemrograman C/C++. Juga tidak mengerti apa itu DDRX, apa keperluan untuk mengatur DDRX sebelum menggunakan sebuah Port. Meskipun sebenarnya ketika seorang programmer Arduino menuliskan sintaks pinMode(LED_BUILTIN, OUTPUT);
secara tidak langsung ia telah mengeset register DDRX. Library – library Arduino sudah mengatur itu untuk programmer. Begitupun saat menulis statement digitalWrite(LED_BUILTIN, LOW);
sebenarnya tidak lain hanyalah mengatur register PORTX untuk mengeluarkan sebuah keluaran digital tertentu PORTD=0xFF;
Pemahaman terhadap Register adalah vital bagi pemrograman elektronika embedded, inilah mengapa Arduino difatwakan HARAM oleh banyak dosen mata kuliah mikrokontroler. karena Arduino tidak membuat mahasiswanya belajar apa itu mikrokontroler. Dan seharusnya dihukumi Haram juga untuk digunakan di dalam skripsi dan tugas akhir para calon sarjana di dunia teknik elektronika.
- Menggunakan Atmel Studio
Untuk pembaca yang ingin mempelajari mikrokontroler lebih dalam, tidak hanya lewat Arduino bisa menggunakan bahasa pemrograman C/C++ dengan berbagai compiler yang disediakan oleh banyak penyedia, mulai dari yang gratis hingga berbayar. Di tahun 2011 pernah populer penggunaan CodeVision AVR yang bisa diunduh di situs resminya di tautan berikut . Untuk versi gratis-nya dibatasi maksimal 4kbyte. Lebih dari itu, pengguna diharuskan membeli versi komersialnya.
Ada juga alternatif lainnya yang gratis, yakni menggunakan Atmel Studio yang dapat diunduh pada tautan berikut. Jika yang diinginkan mengunduh versi offline -nya, ukurannya relatif besar, sekitar 800anMB. Jadi siapkan akses wifi atau akses kuota yang memadai jika menggunakan data internet berbayar.
- Menggunakan Eclipse CDT
Bagi yang terbiasa menggunakan lingkungan kerja Eclipse. Dapat menggunakan Eclipse CDT dengan tambahan plugin dan compiler Atmel GNU Toolchain dan GNU Make. Eclipse CDT dapat diunduh pada tautan berikut.
Pilih Eclipse IDE for C/C++ Developers. Sesuaikan dengan Arsitektur komputer yang pembaca gunakan. Apakah 32 bit atau 64 bit.

Eclipse IDE didistribusikan dalam bentuk zip. Pengguna hanya perlu mengekstraknya ke direktori yang diinginkan lalu menjalankanya. Setelah splash screen Eclipse muncul beberapa saat, kotak dialog Workspace Launcher akan tampil menanyakan direktori mana yang dipilih untuk menjadi workspace (tempat menyimpan file project)
- Plugin Eclipse CDT
Langkah berikutnya setelah Jendela Welcome pada eclipse terbuka adalah menginstall plugin C/C++ Developments Tools SDK yang biasa disebut sebagai Eclipse CDT. Eclipse CDT menyediakan IDE untuk pengembangan C/C++ berbasis platform Eclipse. Fitur – fitur yang dimilikinya termasuk membuat project, mengatur proses build untuk berbagai tool-chain, standard make build, dan berbagai tool yang sangat membantu proses development C/C++
Untuk menginstal CDT, masuk ke menu Help > Install new Software, hingga kotak dialog install plugin tampil. Pada drop down Work With, pilih CDT, tunggu beberapa saat hingga Eclipse terhubung ke repositori di Internet, sehingga muncul daftar komponen yang tersedia. Check semua pilihan, lalu klik Next dan ikuti proses instalasinya sampai selesei.

Advertisement
- AVR Eclipse Plugin
Plugin berikutnya yang perlu diinstall adalah AVR Eclipse Plugin 2.3.4. Pembaca dapat menginstallnya melalui Eclipse Marketplace yang dapat diakses melalui menu Help > Eclipse Marketplace
- Atmel Toolchain
Berbeda dengan Atmel Studio yang sudah mempunyai toolchain bawaan. Eclipse CDT ditambah AVR Eclipse Plugin belum menyertakan toolchain sehingga programmer harus menginstallnya secara terpisah. Atmel Toolchain bisa diunduh pada tautan berikut.
Advertisement
- GNU Make

- Mengatur Konfigurasi Eclipse
Agar GnuMake dan Atmel Toolchain yang telah terinstall dapat terdeteksi oleh Eclipse AVR. Maka perlu dilakukan pengaturan terlebih dahulu. Pada menu Preferences di bagian AVR > Path atur paths dari AVR GCC, GNU make dan AVR Header Files sesuai dengan alamat dari lokasi instalasi
Ya, kini Eclipse CDT telah siap untuk membuat project C/C++ baru untuk mikrokontroler AVR. Pembahasan ini akan penulis simpan untuk tulisan berikutnya
[…] Belajar Mikrokontroler AVR Tanpa Arduino […]