test
Loading...

ARDUINO DENGAN ATTINY2313 MENGGUNAKAN USBASP SSB02

Sepertinya arduino telah dipatok untuk avr tertentu katakanlah atmega8/168/328/2560/1280 etc, namun  adakalanya kita hanya butuh beberapa kaki avr saja dengan demikian banyak kaki Atmega yg ta' terpakai mungkin jawabannya dengan memakai avr attiny namun pihak developer tidak menyediakan board untuk attiny oleh karena itu saya putar puter pelintir otak, surfing and googeling untuk mengakali agar avr attiny2313 [ selanjutnya saya hanya akan menulis 'attiny' saja] agar bisa diprogram dengan sket [sketch] arduino.
Gambar 1 - science just like magic
Yup, ini memang bukan ide orisinal saya banyak para pendahulu dan senior menulis dan mencoba memprogram attiny namun semua menggunakan board arduino seperti Uno dan Duemilanove untuk memprogram attiny dan kini  saya mencoba menyajikan sedikit berbeda dan menurut saya jauh lebih simple dan hemat memori karena kita tidak menggunakan bootloader arduino. Saya menggunakan usbasp untuk memprogram attiny di sket  arduino. Bila anda ingin mencoba silahkan ikuti tulisan ini dan ingat jangan membuka sket arduino dulu lakukan urut urutan pekerjaan dibawah sampai selesai baru buka sket arduino.


Pinout and Minimum Sytem Attiny2313

Attiny2313 mempunyai 20 kaki  dengan tegangan operasi 2,7 – 5,5V  serta mempunyai kecepatan   0 – 10 MHz  di 2,7 – 5,5 V  dan 0 – 20 MHz di 4,5 – 5,5V.
Attiny2313 juga menyediakan pin/kaki untuk external oscilator, secara lengkap silahkan anda lihat gambar pinout attiny2313 dibawah ini serta pin arduino-nya.
Gambar 2 - Pinout attiny2313
Untuk dapat beroperasi attiny2313 cukup 'sangat' sederhana sarat minimumnya cuma power supply saja, arus mengalir avr beroperasi just like that, namun anda bisa juga mengoperasikan dengan menambah crystal sebagai external oscilator kepada sistem minimum attiny2313.
Gambar 3 - skema minimum sistem attiny2313
Saya membuat minsis di pcb stripboard dengan menambahkan konektor box header 10 pin sebagai konektor antar muka dengan usbasp, kalau anda melihat skema anda jangan terkecoh dan bingung dengan jalur dan konektor intinya untuk programing dengan usbasp kaki attiny2313 yang terpakai adalah vcc, ground, reset, miso,mosi dan sck .
Gambar 4 - Minsis attiny2313 di stripboard
Board and Tiny Core

Seperti telah diulas diawal arduino tidak menyediakan board untuk attiny oleh karena itu kita tambahkan board untuk attiny2313 di board.txt. Silahkan download dulu filenya kemudian board.txt yang telah didownload tadi di tambahkan ke board.txt yang ada di folder arduino
>arduino/hardware/arduino/board.txt
Gambar 5 - Menambahkan board attiny2313
Karena arduino tidak menyediakan board untuk attiny, maka core untuk attiny pun tentu saja tidak ada oleh karena itu perlu kita tambahkan attiny core ke folder core arduino letaknya di
>Arduino/hardware/arduino/core
Gambar 6 - Menambahkan folder tiny core
tambahkan folder tiny ke foder core tersebut sehingga nantinya folder core tersebut berisi dua buah folder, satu folder arduino dan yang kedua folder tiny. 


Seting and Programing Attiny2313

Ditahap ini kita siapkan :
  1. Minsis attiny2313
  2. Usbasp, saya menggunakan usbasp ssb02
  3. Software downloader, disini saya menggunakan sinaprog 
  4. IDE arduino disini saya mengunakan tipe lawas arduino 1.0
Sebelum kita memprogram attiny dengan sket arduino kita perlu seting fuse bit dengan konfigurasi:
Untuk 1MHz  :
high :9F
low : 64
extended: FF

Untuk 8Mhz :
high : 9F
low :E4
extended: FF.

Cara seting fuse bit dengan sinaprog silahkan baca lagi dihalaman ini  Dalam projek ini saya memakai seting untuk 1MHz. Seting fuse bit attiny di board minsis dengan downloader [usbasp] Jangan lupa pasang jumper slow clock di usbasp ssb02

Gambar 7 - Jumper slow clock di usbasp ssb02
Gambar 8 - Usbasp ssb02 dan minsis attiny2313
Gambar 9 - Seting fuse bit di sinaprog

Setelah selesai sekarang baru anda buka sket arduino lalu klik tab tool pilih usbasp sebagai programing dan untuk board pilih attiny2313 1Mhz.
Gambar 10 - Board attiny2313 1MHz
Gambar 11 - Programming using usbasp

Sekarang kita coba dengan memprogram 'blink' yang ada di example arduino lalu upload using programmer..
Gambar 12 - Load 'blink'
Gambar 13 - Upload using programmer
abrakadabra led yang terhubung ke kaki 16 attiny2313 [pin 13 arduino]  akan blinking alias berkedip, amazing isn't it ?  well done pemirsah from now on u can programming attiny2313 with arduino language in arduino sketch.

Lets Talk Little Bit More Serious, Come In To My Office...

Blinking sudah tapi saya dan anda mungkin mempunyai pertanyaan yang sama,  apakah bisa attiny berkomunikasi serial seperti layaknya arduino uno etc ? Memang betul sekali pemirsah attiny yang kita buat diatas tidak di program oleh serial to ttl [Rx an Tx] tapi diprogram oleh usbasp ke kaki miso, mosi, sck namun pertanyaannya apakah kaki Rx dan Tx tersebut berfungsi untuk komunikasi serial ?. lets doing one simple test people.
Minsis yang kita buat diatas tambahkan konektor untuk serial to ttl dalam hal ini saya memakai FTDI breakout anda bisa lihat di skema atas  dan baca kembali membuat kabel uploader dihalaman ini.
Gambar 14 - Konektor serial to ttl
Gambar 15 - FTDI breakout dengan tambahan kabel IDC
Buatlah kode sederhana untuk menguji serial yaitu berkomunikasi dua arah dengan PC  lewat serial monitor dimana nantinya dari sisi attiny akan memerintah kan pc untuk menampilkan tulisan "tekan 1  n 0 " sementara dari sisi pc akan memerintahkan  led yang terhubung ke kaki 16 attiny nyala atau mati dengan menekan tombol 1 atau 0,  here is the simple code



Kode tersebut dibuat sangat sederhana karena daya tampung memori attiny sedikit, oleh karena itu terpaksa saya harus menghemat 'text' agar sket bisa di upload ke attiny.

Dengan kondisi minsis attiny masih terhubung ke usbasp, upload sket tersebut diatas setelah selesai cabut usbasp dan pasang ftdi breakout ke minsis attiny. Buka serial monitor beberapa saat kemudian 
Gambar 16 - FTDI breakout, minsis dan laptop
Gambar 17 - Serial monitor
lagi lagi abrakadabra... muncul tulisan "tekan 1 n 0" lalu coba anda ketik angka satu kemudian tekan enter...  led akan menyala , kemudian anda ketik 0 kemudian enter dan hasilnya led akan mati.

Yup Pemirsah, attiny berfungsi sama seperti his big bro uno, semua kaki dan hampir semua fungsi dapat digunakan seperti layaknya board arduino. 

Case Closed

Apa yang saya ulas diatas merupakan dasar dari programming avr yang tidak ada di list arduino, kini akan jauh lebih mudah lagi bagi anda untuk membuat board arduino dengan variasi avr yang lainnya dan sekarang saya tinggal menunggu hasil kreasi dari anda, have nice day people.

Yang mungkin Anda Cari


Writen and posted by: hendri tresnahadi - all about my pc - Updated at : 12.00

Tidak ada komentar:

Posting Komentar

Untuk upload foto silahkan gunakan format penulisan :
https://lh3.googleusercontent.com/-nOwXSVh4vfc/VrHFxkM3y4I/AAAAAAAAF74/_judoEq75dA/h28/memasukan%2Bimage.jpg

Supaya rapih lebar foto maksimal 350 pixel