Kamis, 24 April 2014

BIKIN SENDIRI ARDUINO ?

Nampaknya sudah banyak Blog yang membahas pembuatan Arduino . Kenapa ya harus repot bikin ? beli aja kan murah. Ya namanya juga hobi , lagipula selisih harga antara Arduino asli , Arduino KW maupun Arduino cloning cukup lumayan , apalagi bikin sendiri , bisa lebih murah pastinya.
Tapi tunggu dulu , kalau cuma beli chip ATMega 328P dan beberapa komponen pasif memang murah , tapi gimana cara megisi programnya ? pakai apa ? berarti beli alat lagi ya ?
Iya betul , ini jadi solusi murah jika kita punya banyak proyek mikro atau robot dan ingin mewujudkannya dengan biaya minim. Karena cukup dengan satu alat downloader , kita bisa megisi beberapa board Arduino yang seperti ini. Bisa dibilang minimum systemnya Arduino.
Solusi lain yang lebih instan menggunakan Arduino Pro Mini , yang juga tidak memiliki downloader unit/FTDI chip di dalam boardnya. Adapula Arduino Nano yang speknya sama dengan UNO hanya berukuran mini.
Masalah lain , kita harus mendapatkan chip ATMega 328P yang sudah ada Bootloadernya , bukan chip yang baru keluar dari pabrik , atau masih kosong. Biasanya dijual sebagai ATMega 328P Arduino ready.
Ada beberapa situs dan Blog yang membahas cara merakit board Arduino dari sejumlah komponen dasar dan PCB berlubang adapula hanya dengan menyolderkan komponen langsung pada Mikrokontrolernya.
Atau dapat pula menggunakan Breadboard.

 1. PALM ARDUINO KIT  by sath02






















 







Rangkaian power supplynya :



















Sumber : www.instructables.com

2. Arduino Essensial Parts
















Sumber : Gerai Cerdas

Arduino Breadboard & FTDI breakout board




























Sumber : Arduino.cc


CP2102 breakout board dihubungkan dengan Arduino minimum system

Sumber : cornfieldelectronics.com
 
Tanda kotak & panah menunjukkan pin ICSP board Arduino Uno dan masing2 chip targetnya
                    Sumber : Sparkfun

Untuk rangkaian paling atas memggunakan Resonator 16 Mhz sedang yang rangkaian Breadboard menggunakan Crystal 16 Mhz. Bedanya , jika Resonator punya 3 kaki dengan kapasitor yang telah tertanam didalamnya. Sedangkan Crystal punya 2 kaki dan harus menggunakan tambahan 2 buah kapasitor 22 pF yang terhubung pada ATMega 328P  ( pin 9 , 10 dan Gnd ). Jadi ya skemanya mirip kan?
Gerai Cerdas menawarkan Arduino essensial part senilai Rp 79 ribu seperti komponen pada Breadboard diatas , tentu tidak termasuk Breadboardnya.
Bagaimana cara memprogramnya ya ?
Nda ada USB port atau colokan baterainya nich..?
Namanya juga minimum system , ya pastinya yang sederhana. Ada beberapa metode untuk mengisi Sketch atau program kedalam rangkaian seperti ini. diantaranya :
1. Menggunakan Arduino boards sebagai ISP
    Konon ini cara termudah jika kita sudah punya board Arduino.
    Buka saja Arduino.cc tentang tutorialnya.
    Untuk mengisi Bootloader , Arduino IDE dan Arduino as ISP juga jadi pilihan termudah.
    Berikut cuplikan dari situs Sparkfun tentang cara mengisi bootloader Arduino
    ke chip ATMega32 kosong dari Arduino boards yang sebelumnya kita miliki. 


Sumber : Sparkfun.com
     Cara burn bootloader dari Arduino Uno ke chip ATMega328 yang masih kosong   :

 - Siapkan dua board Arduino Uno , pada salah satu board cabut ATMega328 nya ganti dengan chip ATMega328 yang masih kosong , nantinya ini yang akan jadi board target pemrograman kita.  
 - Buka Arduino IDE - pilih jenis programmer - pilih Arduino as ISP - pilih COM Port
( colokan USB yg sedang digunakan ada di Com port yg mana , kita pilih secara manual ) - pilih Burn Bootloader - sesaat kemudian akan terpilih folder bootloader dan menginstal secara otomatis. - selesai.
Catatan : ini akan bekerja dengan baik jika boards terpasang dengan benar dan bootloader yg sesuai tersedia di Aduino IDE nya.
Kita tak perlu pusing setting fuse bits chip ATMega 328 , karena otomatis hal ini akan dihandel Arduino IDE saat proses mengisi/upload bootloader.
 2. Menggunakan USB serial to TTL Module
    Misalnya : CP2102 , CP2104 , PL2303 atau FTDI Breakout boards.
    Cara lainnya dengan :
3. Menggunakan USBasp.
    Install driver Usbasp terlebih dulu di PC , Gunakan software PROGISP
    di software tersebut kita bisa sekalian setting fusebit chip ATMega sesuai spesifikasi Arduino.
    Salah setting , bisa menyebabkan chip tak bisa dipakai lagi
    ( Gunakan aplikasi Fusebit doctor jika ini terjadi atau buang saja dan beli lagi ) .

Sparkfun pocket programmer
 
4. Menggunakan Parallel programmer.
5. Menggunakan USnooBie , berupa sketch tambahan yang disisipkan
    di boards.txt nya Arduino IDE
  Silakan buka www.eleccelerator.com/usbnoobie/arduino.php tapi tentu 
  konfigurasi boardsnya berbeda.

Karena rangkaian diatas chip ATMega 328P nya telah diisi Bootloader Arduino oleh penjualnya , maka kita bisa gunakan cara No 1 dan 2.
Cara No.1 dipakai kalau sudah punya Arduino Uno/yang sudah jadi.
Cara No.2 dipakai kalau pengin alatnya murah.

Bagaimana kalau yang dimiliki hanya chip ATMega kosong tanpa Bootloader ?
Lain halnya kalau kita beli chip ATMega 328P dalam kondisi baru dan belum terisi Bootloader Arduino , kita biasanya harus setting dulu FUSE BITS chipnya dahulu , agar bisa menerima dan menjalankan program Bootloader Arduino di chip ATMega 328P.
Untuk cara mengisi Bootloader Arduino pada Chip ATMega , setting Fuse bits bisa dibaca pada beberapa situs dan link antara lain :
Usbasp & PROGISP
"All you need about AVR fuses " di www.embedd.com
www.codingwithcody.com
Alat pengisi Bootloader Arduino menggunakan IDE Arduino :
"HVRescue_Shield " di www.mightyohm.com

Cara 3 dan 4 bisa digunakan jika  kita ingin mengisikan langsung program yang telah berbentuk *.hex kedalam chip ATMega , tanpa bantuan Bootloader.
Penggunaan USBASP as ISP untuk mengisi file hex ke board Arduino yang sudah ada bootloadernya , akan menyebabkan bootloadernya tertimpa/terhapus.
Prinsip penggunaan Arduino yang bisa digunakan " semua kalangan " tentu akan bermuara pada BIAYA yang harus ditekan seminim mungkin namun tepat guna dan efisien.
Faktor biaya memang cukup memusingkan , tapi bukankah bersama kesulitan ada kemudahan ?
Kita bisa kerjakan proyek secara berkelompok dan saling membantu.
Selanjutnya akan dibahas step by step upload program dari Arduino IDE ke chip ATMega via CP2102.