RSS

ATMega32A Untuk Arduino Board

23 Nov

Ekosistem  Arduino telah membuat pemakaian microcontroller terasa sangat mudah. Membuat program di Arduino serasa membuat program di komputer. Bahkan bagi yang awam elektronik, mungkin hanya perlu belajar hukum Ohm untuk bisa merangkai sesuatu yang berguna dengan board Arduino. Modul-modul tambahan dijual terpisah dan tinggal “plug and play”. Mungkin hanya diperlukan menyolder kabel dan konektor saja.

Untuk memakai ekosistem Arduino yang dibutuhkan adalah penguasaan bahasa C++ secara umum. Contoh-contoh program dari pemakaian port digital sebagai input atau output, pemakaian port analog sebagai input (ADC) maupun output (PWM), control servo sampai Web server sudah ada contohnya. Tinggal modifikasi sedikit dan tambahkan kreativitas, kita bisa gabungkan contoh-contoh tadi menjadi sesuatu yang berguna dan menarik.

Kemudahan pemakaian ekosistem Arduino tentu harus ada pengorbanan. Ekosistem arduino ini memakan Flash memori yang cukup besar. Untuk program inisialisasinya saja hampir memakan memori Flash 1KB. Belum lagi penggunaan program bootloader dari 512 B sampai 4KB, walaupun tanpa bootloader pun tetap bisa, namun kemudahannya akan berkurang. Penggunaan bahasa C dan C++ secara “biasa” akan menghasilkan kode program yang besar. Dan itu akan dengan cepat menghabiskan jatah memori Flash microcontroller yang digunakan.

Oleh karena itu board-board Arduino umumnya memakai microcontroller dengan kapasitas memori Flash yang cukup besar. Dari 32KB sampai 256KB untuk microcontroller AVR. Pada versi awal Arduino microcontroller ATMega8 yang memori Flash nya hanya 8KB didukung, namun sekarang sudah tidak diproduksi lagi. Versi yang baru pun masih tetap mendukung ATMega8.

Bagaimana jika kita ingin membuat board Arduino tapi microcontrollernya tidak didukung oleh ekosistem Arduino? Bisa. Jika kita ingin board Arduino bisa diprogram melalui bootloader maka kita harus membuat bootloader yang bisa dikenali Arduino. Untuk microcontroller AVR seri Mega program bootloadernya bisa modifikasi dari “Folder_instalasi_Arduino\hardware\arduino\bootloaders\atmega”. Lalu modifikasi file “Folder_instalasi_Arduino \hardware\arduino\board.txt”. Untuk definisi nomor port tambahkan folder di “Folder_instalasi_Arduino\hardware\arduino\variants”. Jika ada tambahan hardware yang tidak didukung oleh ekosistem Arduino maka kita harus memodifikasi file-file yang ada di “Folder_instalasi_Arduino \hardware\arduino\cores\arduino”.

Saya membuat board Arduino kompatible dengan microcontroller ATMega32A. Microcontroller ini tidak didukung oleh ekosistem Arduino. Schematic diagramnya ada di bawah ini.

atmega32a

Bootloadernya saya letakkan pada folder “Folder_instalasi_Arduino \hardware\arduino\bootloaders\atmegaboot-32”. Filenya ada di bawah ini.

atmegaboot-32 (ganti file extention pdf jadi zip).

Pada file board.txt saya tambahkan teks seperti di bawah ini.

#####################################################

 

atmega32.name=Arduino Atmega32

 

atmega32.upload.protocol=stk500

atmega32.upload.maximum_size=30720

atmega32.upload.speed=19200

 

atmega32.bootloader.low_fuses=0xFF

atmega32.bootloader.high_fuses=0xDA

atmega32.bootloader.path=atmegaboot-32

atmega32.bootloader.file=ATmegaBOOT_168_atmega32.hex

atmega32.bootloader.unlock_bits=0x3F

atmega32.bootloader.lock_bits=0x0F

 

atmega32.build.mcu=atmega32

atmega32.build.f_cpu=16000000L

atmega32.build.core=arduino

atmega32.build.variant=mega32

 

#####################################################

 

Pada folder “Folder_instalasi_Arduino\hardware\arduino\variants” saya bikin folder baru yang namanya “mega32”. Isinya file “pins_arduino.h”. Filenya ada di bawah ini.

mega32  (ganti file extention pdf jadi zip).

Timer2 ATMega32A berbeda dengan Timer2 microcontroller Arduino umumnya dan tidak didukung ekosistem Arduino. Saya modifikasi file-file yang ada “Folder_instalasi_Arduino \hardware\arduino\cores\arduino”. Namun tidak akan saya uraikan sekarang.

Iklan
 
2 Komentar

Ditulis oleh pada 23 November 2013 in Arduino, Uncategorized

 

Tag: ,

2 responses to “ATMega32A Untuk Arduino Board

  1. arief satyo priantoro

    8 Mei 2015 at 17:13

    mas kalau boleh tanya arduino IDE nya pake versi berapa? soalnya aku pake arduino IDE terbaru error saat compiling program

     
    • anistardi

      8 Mei 2015 at 18:40

      Modif sendiri IDE nya, beberapa file harus ditambahkan (definisi port, dll), beberapa file harus dimodifikasi karena TIMER ATMEGA32A berbeda dengan microcontroller yang didukung oleh arduino. IDE versi 1.0.5

       

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: