Membuat Minimum System Arduino
PCB Arduino Uno
Skematik Arduino Uno
Rangkaian diatas menggunakan catu daya 5 volt sebagai sumber tegangan ke IC mikrokontroler. IC catu daya atau regulator yang digunakan adalah IC LM7805 yang mampu mensuplai arus sekitar 1 A. Untuk rangkaian osilator external digunakan crystal sebesar 16MHz. Sedangkan untuk rangkaian antarmuka ISP tidak dipasangkan pada rangkaian tersebut, karena nantinya proses mengisi atau mendownload program dapat dilakukan melalui port USB secara langsung. Port USB terhubung langsung ke PD2 dan PD3 pada mikrokontroler ATMega328P. Perlu diketahui pin D+ USB harus terhubung ke pin INT0 (interupt) yaitu pin PD3. Sedangkan pin D- USB dapat bebas dihubungkan ke pin lainnya yang berada pada PORTD. Sementara ada satu buah switch push button yang terhubung ke PD7. Switch ini nantinya digunakan ketika ingin mengisi atau mendownload program. Jika switch ini ditekan bersamaan dengan switch reset maka bootloader USBasploader akan aktif dan mikrokontroler akan masuk ke mode program. Namun jika switch ini tidak ditekan ketika reset maka mikrokontroler akan mengeksekusi program yang telah diisikan ke dalam memorinya. Konfigurasi hubungan pin D+ D- dan switch mode program akan disesuaikan pada sourcecode firmware USBasploader nantinya. Hasil layout PCB rangkaian minimum system arduino dapat dilihat pada gambar di bawah ini
Layout Ardoino
Setelah PCB dan komponennya semua terpasang, rangkaian minimum system diatas belum dapat digunakan. IC ATMega328P yang merupakan IC mikrokontroler pada minimum system arduino yang dibuat harus diisi dengan firmware bootloader USBasploader terlebih dahulu. Setelah firmware USBasploader diisi pada mikrokontroler, minimum system dapat digunakan dan diprogram
Persiapan Mengisi Firmware USBaspLoader Sebelum melakukan proses pengisian firmware, ada beberapa tools dan software yang harus Anda siapkan terlebih dahulu. Beberapa tools dan software yang diperlukan antara lain sebagai berikut ini : Downloader atau programmer mikrokontroler AVR. Downloader yang digunakan boleh tipe apa saja asalkan support dengan IC mikrokontroler yang akan diprogram yaitu ATMega328P. Pada tutorial kali ini saya menggunakan downloader USBasp yang saya buat sendiri dan sudah saya jelaskan pada tutorial berikut ini http://eko-rudiawan.com/downloader-mikrokontroler-avr-usbasp/. Software WinAVR sebagai IDE yang digunakan untuk meng-compile sourcecode dari USBaspLoader agar dapat disesuaikan pada target mikrokontroler yang digunakan yaitu ATMega328P. WinAVR dapat didownload secara gratis pada link berikut ini http://sourceforge.net/projects/winavr/files/ Sourcecode firmware USBaspLoader yang dapat di download pada link berikut ini http://www.obdev.at/products/vusb/usbasploader.html Software editor dengan fitur syntax highlighting untuk memudahkan proses mengedit sourcecode nantinya. Untuk software editor, Saya menggunakan Notepad++ yang dapat didownload secara gratis di internet. Setelah tools dan software diatas tersedia, proses pengisian bootloader firmware USBaspLoader dapat dilakukan.
Langkah-Langkah Mengisi Firmware Bootloader USBaspLoader Untuk mengikuti langkah-langkah berikut ini, Saya asumsikan bahwa semua tools dan software beserta driver yang dibutuhkan telah terinstall dengan baik di komputer Anda. Untuk melakukan kompilasi sourcecode diperlukan pengetahuan sedikit tentang penggunaan command prompt beserta perintah dasar yang digunakan. Saya anggap Anda telah familiar menggunakan command prompt di Windows. Tahapan mengisi bootloader USBasploader dapat dilihat di bawah ini :
1. Ekstrak file sourcecode USBaspLoader pada lokasi yang mudah diingat 1. Ekstrak file sourcecode USBaspLoader pada lokasi yang mudah diingat. Sebagai contoh saya mengekstrak ke direktori C: . Supaya lebih mudah ganti saja nama foldernya menjadi USBaspLoader cara mengisi bootloader usbasploader (1)
2. Buka file Makefile dengan Notepad++ 2. Buka file Makefile dengan Notepad++. Lokasi file ada di folder USBaspLoader/firmware. cara mengisi bootloader usbasploader (2)
Anda perlu melakukan pengeditan pada baris 17 – 24 Anda perlu melakukan pengeditan pada baris 17 – 24. Samakan syntax Anda dengan syntax yang saya tuliskan berikut ini. 3. Buka file bootloaderconfig.h disini yang perlu diedit adalah konfigurasi pin D+ dan D- USB serta pin switch bootloader. Pada gambar desain yang telah saya posting pada artikel sebelumnya, pin D+ terhubung pada PD2 dan D- terhubung pada pin PD3. Sedangkan switch bootloader berada pada PD7. Konfigurasi pin tersebut harus disesuaikan pada sourcecode bootloaderconfig.h. Lihat syntax program di bawah ini yang telah saya modifikasi sesuai dengan desain minimum system arduino yang telah saya buat.
4. Jika proses edit sourcecode telah selesai, selanjutnya adalah proses kompilasi program. Untuk melakukan kompilasi program jalankan Command Prompt. Jangan lupa untuk menghubungkan downloader USBasp yang sudah terhubung pada target board IC ATMega328P. 5. Jika semua telah terpasang selanjutnya melakukan kompilasi dan mengisi bootloader. Masuk ke folder USBaspLoader/firmware melalui Command Prompt. Kemudian jalankan perintah Dengan menjalankan perintah make flash, sourcecode akan dikompilasi ulang serta diupload ke memori IC ATMega328P.
6. Setelah itu lanjutkan dengan menjalankan perintah
7. Setelah selesai Anda dapat melepaskan IC ATMega328P dari target board kemudian memindahkan ke minimum system arduino yang telah dibuat sebelumnya. Sekarang minimum system arduino sederhana yang telah Anda buat dapat digunakan http://eko-rudiawan.com/menggunakan-arduino-metaboard/