Tutorial Starduino: Mengubah STARDUINO Menjadi AVR ISP Programmer


starduino_isp1

STARDUINO BOARD tidak memerlukan rangkaian ISP Programmer/Downloader untuk mengisi memori programnya. Mikrokontroler ATmega8 pada Starduino telah ditanami program bootloader Arduino sehingga kita dapat meng-upload program langsung dari port serial maupun port USB.

Tapi bagaimana jika kita ingin memrogram IC mikrokontroler AVR ATmega8 lain yang masih baru dan belum ditanami bootloader Arduino? Atau bagaimana jika kita ingin bereksperimen dengan ATtiny2313 misalnya? Apakah kita harus membeli lagi ISP Programmer? Jawabannya bisa iya, bisa juga tidak. Jika menurut Anda sebuah AVR ISP Programmer/Downloader merupakan investasi yang bagus, maka Anda bisa membeli sebuah AVR ISP Programmer/Downloader. Akan tetapi, Anda bisa saja membuat sendiri dengan memanfaatkan Starduino Board yang sudah Anda miliki.

Foto di atas adalah pengujian Starduino sebagai AVR ISP Programmer/Downloader. Untuk menjadikan Starduino Board menjadi AVR ISP Programmer/Downloader, berikut adalah langkah-langkah yang harus dilakukan.

1. Upload sketch ArduinoISP

arduinoisp

Pertama-tama, buka sketch ArduinoISP yang tersedia pada Examples bawaan software IDE Arduino. Selanjutnya, lakukan Upload dan Starduino pun telah berubah fungsi menjadi AVR ISP Programmer/Downloader.

Pin-pin yang digunakan untuk memrogram IC mikrokontroler AVR adalah:

Pin-10 RESET
Pin-11 MOSI
Pin-12 MISO
Pin-13 SCK

Pada foto di atas, Pin-10 Starduino dihubungkan dengan Pin-1 ATtiny2313 (RESET), Pin-11 Starduino dihubungkan dengan Pin-17 ATtiny2313 (MOSI), Pin-12 Starduino dihubungkan dengan Pin-18 ATtiny2313 (MISO), dan Pin-13 Starduino dihubungkan dengan Pin-19 ATtiny2313 (SCK).

2. Men-disable Auto-Reset Starduino

Starduino akan otomatis masuk ke kondisi reset setiap kali port serial diinisialisasi dan akibatnya bootloader akan running dan menunggu komunikasi dari PC selama kurang-lebih 7 detik. Jika kondisi ini tidak dinon-aktifkan (disabled), maka AVRDUDE akan gagal mengadakan komunikasi dengan Starduino dengan fungsi ISP Programmer/Downloader.

starduino_isp_c10ufCara menon-aktifkan fungsi Auto-Reset adalah dengan ‘mengganjal’ kondisi kaki RESET pada kondisi logika HIGH dengan menambahkan sebuah kapasitor elektrolit 10uF seperti ditunjukkan pada foto di samping.

Kaki+ kapasitor 10uF dihubungkan dengan Pin-1 ATmega8 Starduino dan Kaki– kapasitor dihubungkan ke GND.

Kapasitor 10uF tersebut akan ‘mengganjal’ kondisi logika di kaki RESET menjadi selalu HIGH. Dengan demikian, ketika port serial diinisialisasi oleh program downloader (dalam hal ini kita menggunakan AVRDUDE), maka Starduino tidak akan mengalami RESET, sehingga AVRDUDE bisa berkomunikasi dengan baik dengan program AVR ISP Programmer yang sudah di-upload ke Starduino.

3. Upload File .HEX Menggunakan AVRDUDE

Untuk menguji fungsi Starduino sebagai AVR ISP Programmer/Downloader, berikut adalah listing program LED berkedip-kedip menggunakan AVR-GCC.

/*
  BLINK.C
  ATtiny2313
*/

#define F_CPU 1000000UL      

#include <avr/io.h>
#include <util/delay.h>

#define ON 1
#define OFF 0

#define LED(n) ((n)==(OFF) ? (PORTD&=~_BV(PD0)) : (PORTD|=_BV(PD0)))

// Inisialisasi mikrokontroler
void setup(void)
{
   PORTD = 0b00000000;
   DDRD  = 0b01000001;
}

// Program Utama
int main(void)
{
  setup();

  while(1)
  {
      LED(ON); _delay_ms(100);
      LED(OFF); _delay_ms(100);
  }
}

Program di atas akan menyalakan sebuah LED yang terhubung pada Pin-2 ATtiny2313 (PD0). LED akan berkedip-kedip dengan selang 100 milidetik.

Program di-compile menggunakan AVR-GCC dan kemudian di-download menggunakan perintah:

avrdude -carduino -PCOM1 -b19200 -pt2313 -e Uflash:w:t2313.hex:i –q

Tipe programmer yang digunakan adalah arduino yang terhubung melalui port serial COM1 dengan baudrate 19200.

starduino_isp_avrdude

Dari pengujian dapat disimpulkan bahwa dengan meng-upload sketch ArduinoISP yang tersedia pada kumpulan contoh program Arduino, Starduino dapat berfungsi sebagai AVR ISP Programmer/Downloader. Oleh karenanya, dengan memiliki Starduino Board, Anda tidak perlu lagi membeli AVR ISP Programmer/Downloader.

Beli Starduino Board, GRATIS AVR ISP Programmer/Downloader!

Untuk informasi harga dan pemesanan Starduino Board, silakan mengunjungi situsnya di: http://teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

🙂

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