ATMEGA32A |
Alat - alat yang dibutuhkan
- Chip Atmega32A
- Arduino UNO (Tidak harus seri UNO)
- Breadboard
Sebelumnya, untuk konfigurasi PIN dari Atmega32 ini, bisa dilihat di datasheetnya.
- Langkah selanjutnya adalah mengunduh konfigurasi untuk boardnya dan juga konfigurasi pin Atmega32 untuk Arduinonya. Silahkan unduh disini.
- Didalam archive tersebut terdapat file board.txt yang harus anda buka, dan salin isinya masukkan kedalam file board.txt yang ada pada direktori Arduino anda, normalnya terletak di \Program Files\Arduino\hardware\arduino\boards.txt. INGAT! Jangan hapus isi dari boards.txt yang ada pada folder Arduino, cukup tambahkan saja isi board.txt yang anda unduh kedalam board.txt milik Arduino.
- Langkah selanjutnya adalah memasukkan fodler mega32 yang ada pada folder variants pada archive kedalam folder variants yang ada folder \Program files\Arduino\hardware\arduino\variants\ milik anda. Folder tersebut berisi konfigurasi pin pada Atmega 32 setelah nantinya diisi dengan Arduino.
- Sekarang, buka aplikasi Arduino anda dan buka isi ArduinoISP yang berada pada sub menu Examples.
Arduino ISP - Setelah source code nya terbuka, colokkan Arduino Uno (contoh) ke PC, dan isi Arduino Unonya dengan Arduino ISP tersebut.
- Setelah Arduino dalam posisi sudah terisi dengan ISP tersebut, masuk ke menu Tools > Board dan pastikan anda sudah melihat ada Atmega32 pada list tersebut. Kemudian pilih Atmega32-1Mhz
Atmega32 board - Kemudian masuk kembali ke menu Tools > Programmer dan pilih Arduino as ISP
- Langkah selanjutnya tinggal masuk ke Tools > Burn bootloader. Eits!! kan ciruitnya belum terpasang.
- Karena saya malas menggambar, silahkan perhatikan konfigurasi pin dibawah ini
- Pin 13 Arduino menuju pin 8 Atmega32 (SCK)
- Pin 12 Arduino menuju pin 7 Atmega32 (MISO)
- Pin 11 Arduino menuju pin 6 Atmega32 (MOSI)
- Pin 10 Arduino menuju pin 9 Atmega32 (RESET)
- Pin 5v Arduino menuju pin 10 Atmega32
- Pin GND Arduino menuju pin 11 Atmega32
- Konfigurasi diatas dapat anda ganti - ganti jika anda menggunakan chip AVR tipe lain, baca datasheetnya dan cari dimana pin SCK, MISO, MOSI dan RESET.
- Setelah di pasang dengan benar, pastikan bahwa kabel tidak mudah lepas/goyah agar pada saat pembakaran bootloader dapat berjalan dengan lancar.
- Sekarang anda boleh menekan menu Burn Bootloader!
- Tunggu sebentar, dan bootloader akan dipasang pada Atmega32. Maaf ini tidak ada screenshotnya juga. Jika berhasil maka akan muncul Bootloader berhasi dipasang (saya lupa bahasa inggrisnya).. hehehe
- Setelah berhasil diisi dengan Arduino. Harap perhatikan bahwa konfigurasi pin dari Atmega32 sudah berbeda. Silahkan lihat gambar dibawah ini
Pin Atmega32A - Pada gambar diatas, dapat dilihat bahwa kita sekarang mempunyai pin digital sebanyak 32 pin, dan analog sebanyak 8 pin.
- Pada konfigurasi baru ini, Atmega32 juga mendukung PWM pada pin D12, D13, dan pin 15.
- Chip sudah bisa digunakan, setiap kali anda ingin memasukkan data ke chip ini, set board ke Atmega32-1Mhz dan set Programmer ke Arduino as ISP!
- Sekarang, coba masuk ke Arduino dan buka contoh program dengan nama Fading, dan rubah Pinya ke pin 13, kemudian kasih LED pada pin 13.
- Atau bisa anda kopas kode dibawah ini
/*Coba anda upload ke Atmega32 dan lihat apakah LED yang dipasang pada pin 13 melakukan fading ? Jika ya, selamat anda sudah berhasil :)
Fading
This example shows how to fade an LED using the analogWrite() function.
The circuit:
* LED attached from digital pin 9 to ground.
Created 1 Nov 2008
By David A. Mellis
modified 30 Aug 2011
By Tom Igoe
http://arduino.cc/en/Tutorial/Fading
This example code is in the public domain.
*/
int ledPin = 13; // Pin PWM milik ATMEGA32
void setup() {
// nothing happens in setup
}
void loop() {
// fade in from min to max in increments of 5 points:
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
// fade out from max to min in increments of 5 points:
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
}
Selanjutnya saya masih penasaran dengan Attiny2313, mungkin akan saya bahas nantinya jika sudah ada dana terkumpul untuk membelinya :)
Good Luck!
Link nya bermasalah Mas
ReplyDelete