Cara Bootloader Arduino ke IC ATMEGA 8/168/328

arduinopedia.blogspot.com - Cara Bootloader Arduino ke IC ATMEGA 8/168/328

Bagi yang menyukai project mikrokontroller dengan Arduino, tentu sudah tahu dengan istilah ‘bootloader’. Kalau diibaratkan dalam sebuah OS (Operating System), bootloader ini adalah semacam ‘kernel’ sederhana, yakni sekumpulan fungsi dasar yang menangani input output yang berhubungan dengan hardware, dan sekumpulan pustaka dasar yang menjembatani fungsi kompleks yang berjalan di atasnya. Di Arduino, bootloader ini berfungsi untuk menangani proses input output data saat Anda ‘mengisi’ program (istilah dalam Arduino adalah ‘sketch’), ke dalam Arduino melalui software IDE (Integrated Development System) Arduino. Mengisi sketch ke Arduino dengan burning program mikrokontroller (misalnya AVR/ATMega) adalah berbeda pengertiannya.  Jika mengisi sketch adalah mengisi program yang berjalan di atas bootloader, burning program ke mikrokontroller adalah mengisi program yang benar-benar berdiri sendiri tanpa ketergantungan bootloader.  Untuk detail perbedaan keduanya nanti akan saya tulis dalam artikel yang berbeda.

Kembali ke bootloader, jika Anda membeli board Arduino, bootloader sudah terprogram di dalam IC mikrokontroller Arduino (ATmega 8/168/328). Dengan demikian Anda bisa langsung mengisi ‘sketch’ (program Arduino) ke IC mikrokontroller Arduino. IC mikrokontroller yang telah terprogram Arduino ini kemudian dapat dipindah ke PCB lain yang memenuhi system minimum mikrokontroller. Jadi sebenarnya Arduino ini dapat berdiri sendiri tanpa harus dipasang di board Arduino. Nah, saat seperti inilah dibutuhkan pengetahuan untuk melakukan burning bootloader Arduino sendiri ke IC ATMega. Dengan demikian Anda tidak perlu membeli board Arduino lagi, cukup membeli IC ATMega saja yang nantinya akan diisi bootloader Arduino. Berikut ini adalah langkah-langkah mengisi bootloader Arduino menggunakan board Arduino Uno (bisa juga dengan board yang lain). Saya anggap sudah memiliki IDE Arduino terinstal dalam komputer Anda (dapat diunduh di www.arduino.cc) dan sudah familiar dengan burning sketch di board Arduino.

1. Buka IDE Arduino dan loading sketch ‘ArduinoISP’ di menu File | Examples | ArduinoISP.
Catatan untuk pengguna software Arduino 1.0, Anda harus mengubah script ‘delay (40)’ menjadi ‘delay (20)’ di bawah void heartbeat().  Cara mudah untuk mencari script tersebut adalah menggunakan menu Edit | Find atau melalui shortcut ctrl+F. Jika Anda tidak mengganti script tersebut akan muncul error ‘sync error (xxxx)’.

2. Pilih board ‘Arduino Uno’ di menu Tools | Board | Arduino Uno, pilih port serial yang terinstal dalam computer Anda di menu Tools | Serial Port, kemudian upload sketch ‘ArduinoISP’ di board Arduino melalui menu File | Upload. Jika Anda berhasil melakukannya, maka board Arduino Uno Anda sekarang sudah berfungsi board ISP (In System Programming), yakni board yang bisa mengisi program ke mikrokontroller lain melalui port MISO/MOSI

3. Kemudian siapkan IC ATMega 8/168/328 yang akan diisi bootloader Arduino, dan buatlah rangkaian sistem minimum sederhana sebagai berikut (bisa menggunakan breadboard/protoboard atau dijumper di PCB matriks)


 Riilnya adalah seperti ini

4. Kembali ke software IDE Arduino, pilih tipe board yang nantinya akan digunakan IC tersebut di menu Tools | Board. Contoh, jika IC yang akan diburn boatloader ini akan dimasukkan ke board Arduino Uno, maka pilihlah ‘Arduino Uno’ di menu Tools | Board.
Catatan : untuk IC ATMega 8 hanya kompatibel diisi dengan tipe board ‘Arduino NG or older w/ Atmega8’

5. Pilih tipe programmer sebagai ‘Arduino as ISP‘ di ‘Tools | Programmer‘. Mulailah mengisi bootloader ke IC ATMega dengan memilih menu Tools | Burn Bootloader. Tunggu beberapa saat, sampai muncul notifikasi bahwa proses pengisian bootloader sudah selesai di jendela bawah di IDE Arduino.

Selamat, kini IC ATMega Anda yang sebelumnya blank sudah terisi bootloader Arduino. Untuk selanjutnya Anda bisa meletakkan IC ATMega ini ke board Arduino (Uno, Duemilanove, Nano,  dsb sesuai settingan program tadi) atau ke dalam PCB buatan sendiri yang memenuhi persyaratan sistem minimum mikrokontroller.
Selanjutnya, jika Arduino sudah terisi bootloader Anda dapat mengisi program Arduino (meng-upload/mengunggah sketch Arduino) untuk berbagai keperluan.

Previous
Next Post »