Cara Upload Arduino Code ke Microcontroller ATMega16

- Mei 10, 2018
Pada postingan kali ini, penulis mencoba membagi, walaupun memang sudah agak ketinggalan, tetapi sebagai catatan dan dokumentasi bagi penulis, yakni Cara mengUpload Arduino Code (sketch) ke Microcontroller ATMega16.


Seperti yang kita (kita lagi?) ketahui bersama, atau yang penulis sempat ketahui, pada Board Arduino seperti Nano, Uno, sebenarnya juga menggunakan microcontroller Atmel, yakni ATMega328p. Kenapa menggunakan tipe tersebut? Karena spesifikasi yang lebih canggih dibandingkan ATMega 16/32/8535. Seperti misalnya kapasitas memory flash 32KB, dibandingkan ATMega16 yang hanya 1KB, EEPROM dan fitur internal lainnya.

Jadi, mau diapakan ATMega16 yang tersisa di laci komponen penulis? Untuk itu penulis mencoba memanfaatkan ATMega16 sebagai bahan belajar saja, dengan menggunakan Arduino Nano sebagai downloader dan Arduino IDE untuk menuliskan kode (sketch) ke microcontroller yang tidak disupport oleh Arduino itu sendiri.

Bahan dan alat yang digunakan 

- Arduino IDE versi terakhir 1.8.5
- Arduino Nano board
- Gelatino dan Koneksi Internet
- 1 x Elco 10uF -
- 2 x Kapasitor 22 pF
- 1 x ATMega 16
- Crystal 11.059 MHz
- 3 buah LED buat demo
- Beberapa jumper

Langkah-langkahnya saya bagi beberapa tahap sebagai berikut :

Arduino as ISP Programmer

Tahap ini merupakan langkah untuk mengubah board Arduino Nano yang kita (lagi?) punya menjadi Progammer (downloader) saja. Langkahnya cukup mudah, hanya dengan meng-upload Sketch bawaan Arduino, yakni Arduino as ISP ke board Arduino Nano.
Jalankan Arduino IDE, buka File > Examples > Arduino ISP


Lakukan upload Sketch ke Arduino Nano, tunggu hingga selesai. Sampai di sini, Arduino Nano bertindak sebagai downloader saja. Lanjut ke tahap berikut.

Gelatino Core

Gelatino Core adalah definitions board yang dbiuat oleh Vanbwodonk, yang nantinya digunakan untuk mendefinisikan ATMega16 yang digunakan agar dapat dituliskan Bootlader Arduino ke dalamnya. Tambahkan file JSON ini pada preferensi Arduino IDE.

https://raw.githubusercontent.com/vanbwodonk/Gelatino.github.io/master/package_Gelatino_1.6.x_index.json



 Buka Board Manager, cari Gelatino, download, pastikan koneksi internet lancar.




Wiring and Burning BootLoader

Saatnya untuk merangkai Arduino Nano ke ATMega16, sesuaikan pin-pin dari Arduino Nano ke pin-pin pada ATMega16, berikut dengan komponen lainnya.


Selanjutnya buat sketch sederhana seperti kode berikut, sebagai demo saja, untuk menyalakan 3 buah LED secara bergantian.
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  
}


void loop() {
  digitalWrite(2, HIGH);   
  delay(500);                     
  digitalWrite(2, LOW);   
  delay(500);         
    digitalWrite(3, HIGH);   
  delay(500);                     
  digitalWrite(3, LOW);   
  delay(500);     
    digitalWrite(4, HIGH);   
  delay(500);                     
  digitalWrite(4, LOW);   
  delay(500);                   
}
Berikut ini, gambar konversi pin dari arduino ke ATMega 16


Langkah terakhir adalah dengan mengupload program (sketch) yang sudah dibuat tadi, tetapi kali ini ada sedikit perbedaan.  Kalau biasanya untuk mengpload cukup memilih menu Upload, kali ini memilih menu Upload Using Programmer.


Setelah proses upload selesai, harusnya rangkaian pada breadboard sudah menampilkan animasi sederhana yakni led yang menyala secara bergantian.


Untuk lebih jelas, dapat dilihat pada video berikut


Demikian postingan atau tutorial kali ini, semoga bermanfaat.
(z)


EmoticonEmoticon

 

Start typing and press Enter to search