09 November 2015

ATMEGA16 sebagai Arduino dengan Arduino as ISP

ATMEGA16 sebenarnya bukanlah mikrokontroller untuk arduino, tapi karena sifat arduino yang open, maka beberapa orang telah berhasil memodifikasi Arduino IDE sehingga bisa digunakan untuk ATMEGA16. Untuk dapat meng-upload sketch kita ke ATMEGA16 dengan Arduino sebagai ISP berikut adalah langkah langkahnya.

bahan bahan:
  1. Arduino Uno
  2. Arduino IDE 1.6.5 
  3. Gelatino
  4. kapasitor 10uf
  5. ATMEGA16
  6. crystal  16MHz
  7. kapasitor 22pf 2 buah
  8. beberapa kabel jumper
  9. LED dan resistor untuk testing
Menyiapkan Arduino Uno sebagai ISP
Untuk dapat memprogram ATMEGA16 dengan Arduino IDE kita dapat menggunakan USB ASP, namun jika kita tidak memiliki USB ASP kita dapat membuat programmer sendiri dengan menggunakan Arduino sebagai ISP.  Sebagai contoh kita menggunakan Arduino Uno menjadi ISP, untuk memprogram ATMEGA16.
  1. jalankan Arduino IDE, buka File>Examples>ArduinoISP
  2. Pilih Tools > Board dan Serial Port sesuai Arduino yang anda pakai
  3. Upload 
Anda juga dapat membaca referensi resmi arduino disini
Gelatino Core
Supaya Arduino IDE bisa mengenali ATMEGA16 kita perlu memodifikasi Arduino IDE dengan tambahan Core Gelatino.
  1. Siapkan Arduino IDE 1.6.x. Saya menggunakan IDE 1.6.5 bisa download disini
  2. Download Gelatino disini
  3. Copy Folder hardware dari Gelatino, ke Arduino IDE, Timpa(replace) saja jika ada notifikasi.
Arduino IDE yang ditambah Gelatino Core

Keterangan Konfogurasi Pin ATMEGA16 jika menggunakan Arduino IDE


Wiring Arduino ke ATMEGA16

buatlah rangkaian seperti berikut:
  1. Arduino Pin 13 ke ATMega16 Pin 8 (or SCK of another microcontroller)
  2. Arduino Pin 12 ke ATMega16 Pin 7 (or MISO of another microcontroller)
  3. Arduino Pin 11 ke ATMega16 Pin 6 (or MOSI of another microcontroller)
  4. Arduino Pin 10 ke ATMega16 Pin 9 (or RESET of another microcontroller)
  5. Arduino 5+ to ATMega16 Pin 10 (or Vcc of another microcontroller)
  6. Arduino Gnd to ATMega 16 Pin 11 (or Gnd of another microcontroller)
  7. tambahkan kapasitor 10 uF antara Arduino Reset Pin dan Gnd Pin (+ kapasitor terhubung ke reset)


Burning Boot-loader 
  1. Pilih Board gelatino 16 w/ATmega16
  2.  Burn Bootloader
Upload Sketch

Untuk Mengupload Sketch, Klik Sketch>Upload Using Programmer. bisa juga dengan menekan SHIFT pada keyboard sehingga pada Arduino IDE akan muncul tulisan "Upload Using Programmer" artinya kita akan mengupload menggunakan arduino Uno sebagai ISP.
Tambahkan output led ke salah satu pin di ATmega16 dan cobalah dengan mencoba mengupload kode Blink untuk memastikan ATmega bisa berjalan dengan baik. Konfigurasi pin sama seperti gambar di atas untuk ATmega16.
Selamat mencoba :)

Sumber : Membuat Arduino Dengan ATmega16, ATmega32, ATmega162 dan ATmega128