Minggu, 31 Januari 2016

Pengembangan AVR secara GUI di BlankOn dengan Eclipse dan Usbasp

Ada yang tau apa itu AVR?



Hah! Kalian ngak tau AVR!?




Baiklah kalau begitu. Profesor akan menjelaskannya.

AVR adalah salah satu dari pada seri keluarga Mikrokotroler yang diproduksi oleh Atmel, bersama dengan AVR32 dan ARM. AVR sendiri adalah sebuah CPU yang mentenagai Mikrokontroler tersebut. AVR memiliki arsitektur Harvard, yaitu memisahkan jalur antara bus data dan program beserta dengan penyimpanannnya. AVR memiliki lebar data 8-bit dan panjang instruksi 16-bit. AVR sendiri memiliki beberapa seri seperti ATTiny, AT90, dan ATMega. Singkatan asli dari AVR sendiri sebenarnya masih diperdebatkan hingga saat ini, jadi saya tidak akan memberitahukannya. Untuk lebih jelas, silahkan hubungi Master Wikipedia.

ATMega8, salah satu Mikrokontroler yang sering saya gunakan. Murah dengan fitur yang cukup mumpuni dan sangat mudah didapatkan di pasaran. Khususnya untuk di daerah saya, Bandung.

Dan sekarang, kalian tahu apa itu USBASP?

Bagi yang tahu, mari kita dengarkan penjelasan profesor.


 USBASP adalah sebuah USB in-circuit programming yang dikembangkan oleh tuan Thomas Fischl dengan menggunakan pustaka virtual USB (vusb), yaitu sebuah pustaka yang mampu membuat chip mikrokontroler Atmel AVR menjadi sebuah chip USB yang dapat berfungsi sebagai host maupun client tanpa melalui perantara chip driver apapun. USBASP sukup terkenal dalam dunia programming AVR karena menggunakan port USB sehingga bisa dijalankan di komputer manapun dan juga karena perangkat ini sangat mudah untuk dirakit bahkan oleh mereka yang baru belajar tentang AVR. Dan tentu saja dengan merakit sendiri kita bisa menghemat biaya. Untuk informasi lebih lanjut silahkan kunjungi web paman Fischl.

USBASP yang saya rakit sendiri.

Baiklah, sekiranya seperti itu saja penjelasan dari Profesor. Langsung saja kita masuk ke pembahasan utama.

Mungkin sudah banyak blog atau web yang menjelaskan tentang memulai pemrograman AVR. Jadi mungkin beberapa dari kalian sudah mengetahuinya. Jadi saya hanya akan menambahkannya saja.

Kalian pernah merasa lelah mengetik perintah seperti ini:

$ avr-gcc -g - Os -mmcu=atmega16 -c main.c
$ avr-gcc -g -Os -mmcu= atmega16 -o main.elf main.o
$ avr-objdump -h -S main.elf>main.lst
$ avr-objcopy -j .data -j .text -O ihex main.elf main.hex
$ sudo avrdude -c usbasp -p m8 -P usb -U flash:write:main.hex:i

Ya, saya termasuk salah satunya. Apalagi kalau sudah terdapat error.



SAYA BENAR-BENAR INGIN MENANGIS!!!!




Bagi kalian yang merasa lelah, beruntunglah karena sudah terdapat IDE yang bisa digunakan untuk membantu mengembangkan program AVR. Beberapa diantaranya adalah Eclipse dan CodeBlocks.

Khusus untuk pembahasan kali ini, kita akan "membedah" si Eclipse ini. Bagi kalian yang belum memasang Eclipse di destop atau laptop kalian, silahkan kunjungi:


Bagi kalian yang sudah menggunakan CodeBlocks mungkin tidak akan kesulitan karena CodeBlocks sudah memiliki plugin bawaan untuk mengembangkan AVR. Tetapi, secara default Eclipse tidak memiliki plugin ini, jadi kita akan memasangnya secara manual.


 Bagi kalian yang ingin tahu bagaimana cara memasang plugin yang dibutuhkan oleh si Eclipse ini, silahkan ikuti langkah di bawah ini:




1. Buka terminal. Pasang toolchain yang dibutuhkan dengan perintah:

$ sudo apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr

2. Buka Eclipse kalian. Klik menu "Help", kemudian klik "Install New Software".

3. Setelah sebuah dialog dengan nama "Install" terbuka, carilah sebuah textbox dengan label "Work with". Kemudian isi textbox tersebut dengan http://avr-eclipse.sourceforge.net/updatesite/


4. Pilih "AVR Eclipse Plugin". Kemudian klik "Next". Kemudian klik "Next" lagi. Pilih "I accept the terms of the license agreement". Lalu klik "Finish". Setelah instalasi selesai pilih "Restart".



  


5. Waktunya konfigurasi USBASP. Ketik perintah berikut di terminal.

$ sudo gedit /etc/udev/rules.d/99-USBasp.rules

Setelah gedit terbuka, masukkan kode berikut ini:

 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="dialout", MODE="0666"

Setelah itu simpan. Lalu lakukan restart udev service dengan perintah:

$ sudo udevadm control --reload-rules

Kode diatas berguna agar USBASP bisa berjalan dalam mode root sehingga Eclipse dapat mengunggah program ke chip target secara langsung.


6. Buka kembali Eclipse kalian. Lalu klik menu "Window" lalu "Prefences". Kemudian expand menu "AVR" lalu pilih "AVRDude". Setelah itu klik "Add".






7. Setelah muncul jendela baru, isi configuration name sesuka kalian. Kemudian cari programmer hardware lalu scroll ke bawah untuk mencari USBasp. Kemudian isi  overide default port (-P) dengan "usb" dan klik "OK".


8. Kemudian pilih nama konfigurasi yang kalian buat tadi. Lalu klik "Apply" dan "OK".


Sekarang kalian telah siap untuk mengembangkan program AVR dengan hanya menggunakan satu tool, yaitu Eclipse. Sekarang tidak ada lagi yang namanya buka terminal kemudian ketik perintah - perintah rumit yang membuat jari pegal linu.


Segera tancapkan USBASP kalian lalu mulailah membuat program. 



Sekian saja dulu post dari saya. Sampai jumpa lagi post selanjutnya.




Salam Domba

Sabtu, 23 Januari 2016

Pasang Ecplise di BlankOn



Halo semuanya. Sudah siap untuk postingan saya kali ini.




Setelah dalam postingan terdahulu saya memperlihatkan bagaimana cara memasang JRE (Java Runtime Environment), sekarang saya akan memasang sebuah aplikasi yang membutuhkan Java Virtual Machine tersebut, yaitu Eclipse.

Eclipse dengan versi MARS.1


Lalu apa sebenarnya siapa sih si Eclipse ini?




Eclipse adalah sebuah IDE (Integrated Development Environment). IDE sendiri adalah sebuah paket perangkat lunak yang digunakan untuk mempermudah pengembangan perangkat lunak (seperti aplikasi, game, dan firmware sistem embedd), mulai dari kosep program, penulisan kode sumber sampai proses Building kode sumber menjadi kode mesin. Bahkan beberapa IDE menyertakan simulasi bagi program yang kita buat, Contohnya Atmel Studio.



Lalu muncul pertanyaan, kenapa saya memilih Eclipse  dibandingkan IDE lain seperti CodeBlocks?



VS


Jawabannya... 


Entahlah, ini masalah pilihan. Meskipun sebenarnya ada masalah kecil. Kompiler AVR-GCC yang saya pasang di CodeBlocks bermasalah pada bagian optimalisasi kode ( -Os ), sehingga program delay pada AVR tidak dapat bekerja dengan baik.



Meskipun, sebenarnya CodeBlocks masih lebih unggul dalam penggunaan memori.

CodeBlocks lebih unggul dengan penggunaan memori hanya 50 MB, sedangkan Eclipse tertinggal jauh dengan 200MB.

Hal ini mungkin dikarenakan Eclipse dibangun dengan bahasa Java yang sudah terkenal boros memori, meskipun sudah menerapkan "Garbage Collection" untuk mencegah memory leak, tapi tetap saja boros memori.


Yah... tapi saya tetap memilih Eclipse.




Dan bagi kalian yang ingin memasang Eclipse di destop BlankOn, kalian bisa mengikuti langkah-langkah berikut ini:




1. Unduh terlebih dahulu binari Eclipse disini (www.eclipse.org).

Karena saya akan mengembangkan program C/C++, maka saya hanya mengunduh IDE untuk C/C++. BlakOn saya adalah 32-bit, jadi saya pilih yang 32-bit. Juga pastikan kalian sudah memasang JRE. Bagi yang belum memasangnya, silahkan kujungi post Memasang Java Runtime Environment di BlakOn.

2. Jalankan terminal. Masuk ke direktori dimana kalian mengunduh binari Eclipse.
Misalnya, saya menyimpannya di ~/Unduhan, maka perintahnya:

$ cd ~/Unduhan

3. Ekstrak berkas tar.gz Eclipse-nya.
Misalnya, berkas hasil unduhan Eclipse saya bernama eclipse-cpp-mars-1-linux-gtk.tar.gz, maka perintahnya.

$ tar -xvf eclipse-cpp-mars-1-linux-gtk.tar.gz

4. Buat direktori baru di /opt dengan perintah:

$ sudo mkdir /opt/eclipse

5. Pindahkan semua ini folder eclipse (folder hasil ekstrak pada langkah ke-3) ke dalam /opt/eclipse dengan perintah:

$ sudo mv eclipse/* /opt/eclipse

6. Buat tautan agar eclipse bisa dijalankan lewat terminal dengan perintah:

$ sudo ln -s /opt/eclipse/eclipse /usr/local/bin

7. Buat berkas .desktop untuk eclipse agar bisa dijalanlan melalui launcher BlankOn dengan perintah:

$ sudo gedit /usr/share/applications/eclipse.desktop

Kemudian salin kode di bawah ini ke dalam gedit:


[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=eclipse.desktop

Kemudian simpan lalu tutup gedit.

8. Coba jalankan eclipse melalui terminal.

$ eclipse





Jika aplikasi eclipse muncul , berarti eclipse sudah terpasang sempurna.



Berikut adalah screenshoot eclipse di BlankOn saya.




Sekian saja dulu post dari saya. Semoga bermanfaat dan sampai jumpa lagi di post - post berikutnya.

Salam Domba

Animated Storyboard Nona Editor



Proyek iseng. Membuat animated storyboard dari cerita Nona Editor karya Kak Archie.




Animasi Maskot Open Source Indonesia


Saya berharap kalau mereka berdua bisa menjadi maskot bagi Open Source Indonesia.





Saya membuat karakter pinguin karena terinspirasi dari BlankOn GNU/Linux, Sisop Open Source yang saya gunakan. Saya tambahkan blangkon untuk membuatnya semakin terasa lokal. Sedangkan karakter manusianya, yang saya beri nama Teguh Katulistiwa, diumpamakan sebagai pengembang dan pengguna yang membuat Open Source tetap hidup.



Berikut adalah key animation-nya:



Key Animation sedang dalam proses pengerjaan.

Artwork



Upload artwork dulu hehehe...




Disini adalah tempat saya mengunggah artwork buatan saya. Dibuat dengan perangkat lunak editor grafis GIMP (GNU Image Manipulation Program).



Artwork digital pertama. Sebenarnya bukan yang pertama, tapi yang menurut saya paling bagus. Lineart masih pakai pensil.
Inilah saat pertamakalinya saya mengenal Kak Archie The RedCat. Berkat kometarnya tehadap ilustrasi ini, saya terus berusaha untuk menggambar dengan lebih baik.


Sebuah fanart untuk komik Kak Archie, Nona Editor. Untuk pertamakalinya saya bisa membuat backgroud. Lineart sudah berubah dari pensil ke digital.
Fanart untuk komik Eggnoid karya Kak Archie.
Terinspirasi setelah mendengarkan lagu Sora Amamiya - Kanade ( ED Ishuukan Friends )

Saya masih bingung ini sebenarnya apa. Terinspirasi setelah melihat karya Zara.
Saya tidak sadar ternyata saya sudah bisa membuat background seperti ini.
Coba menggambar Kirana (Eggnoid) versi saya.


Pasang Java Runtime Environment di BlankOn

Sudah berbulan-bulan sejak terakhir kali saya mengepostkan sesuatu di Blog saya. Nah, sekarang waktunya untuk update lagi.





Baiklah, langsung saja kita mulai.

Tagu apa yang namanya "Java"? Ya, si cangkir kopi dengan semboyan "tulis sekali, jalankan dimana saja" ini sudah "membangun koloni" di berbagai perangkat, mulai dari desktop sampai mobile, mulai dari CISC sampai RICS, dan sebagainya (saya bingung mau nulis dari apa sampai apa). Tapi tentu saja, yang paling terkenal adalah java di perangkat ponsel. Siapa yang tidak pernah tau tentang game java? Kalau ada yang tidak tahu, tolong kasih tau saya. Mau diapain? Ngak, cuma mau tau aja. Saya dombanya memang sedikit KEPO.

Java beserta sang pengembang, Oracle


Lalu, siapa sebenarnya si Java ini?




Java merupakan sebuah bahasa pemrograman berorientasi objek (OOP) yang banyak dipengaruhi oleh sang legenda, C. Jadi yang tau tentang C atau C++ tidak akan kesulitan saat mepelajari sintaks Java. Berbeda dengan bahasa sejenisnya, kode sumber Java dikompilasi menjadi bytecode yang hanya bisa dijalankan oleh mesin virtual JVM (Java Virtual Machine) yaitu JRE (Java Runtime Environment).Informasi lebih lanjut, silahkan kunjungi Wikipedia.

Inilah yang membuat si Java mendapat julukan "tulis sekali, jalankan dimana saja, karena JRE sudah mendukung banyak platform. Mulai dari Windows, Machintosh, Solaris, FreeBSD, dan tentu saja GNU/Linux. Dan kali ini saya akan memasang Eclipse, sebuah IDE untuk berbagai bahasa. Karena Ecplise dikembangkan menggunakan Java, otomatis saya juga memerlukan JRE.




Bagi yang ingin tahu bagaimana cara memasang JRE, silahkan ikuti langkah-langkah di bawah ini:



1.Unduh binari JRE-nya terlebih dahulu. Kunjungi web Oracle disini. Kemudian akan muncul tampilan seperti di dibawah ini.
Klik JRE Download seperi gambar di atas.

Kemudian kilk Accept License Agreement. Lalu pilih Linux x86 jika BlankOn kalian adalah 32-bit, atau Linux x64 jika BlankOn kalian adalah 64-bit.

Setelah itu kalian tinggal menunggu sampai pengunduhan selesai.

2. Jalankan terminal. Lalu masuk ke direktori dimana JRE-nya di unduh.
Misalnya, saya menyimpan di direktori ~/Unduhan, maka perintahnya:

$ cd ~/Unduhan

3. Ektrak berkas tar.gz JRE-nya.
Misalnya, berkas hasil unduhan saya bernama jre-8u72-linux-i586.tar.gz, maka perintahnya:

$ tar -xvf jre-8u72-linux-i586.tar.gz

4. Buat folder baru di /usr/lib dengan perintah:

$ sudo mkdir -p /usr/lib/jvm/"versi jre"

Untuk "versi jre" sesuaikan dengan nama folder hasil ekstrak pada langkah 3.
Contoh:

Misalnya, nama folder hasil ekstrak saya adalah jre1.8.0_72 maka namanya jre1.8.0 (Bagian dibelakang "_" tidak perlu digunakan), maka perintahnya:

$ sudo mkdir -p /usr/lib/jvm/jre1.8.0

5. Pindahkan semua isi folder pada langkah ke-3 ke dalam /usr/lib.
Menggunakan contoh pada langkah 4, maka perintahnya akan seperti ini:

$ sudo mv jre1.8.0_72/* /usr/lib/jvm/jre1.8.0

6. Update java-nya.
Menggunakan contoh pada langkah 4, maka perintahnya akan seperti ini:

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0/bin/java 0

7. Bagian ini hanya tambahan saja.

Agar kalian bisa menjalankan aplikasi java di web atau yang biasa disebut Java Applet, kalian harus memasang plugin di browser kalian. Dalam hal ini, saya akan menggunakan Browser favorit saya, Firefox. Maka perintahnya akan seperti ini:

$ ln -s /usr/lib/jvm/jre1.8.0/lib/i386/libnpjp2.so ~/.mozilla/plugins/



 
Setelah kalian memasang JRE, kalian bisa menjalankan aplikasi yang dibangun dengan bahasa Java. Contohnya, saya menjalankan Eclipse di BlankOn saya.



Eclipse berjalan dengan baik setelah saya memasang JRE




Dan sampai disini saja perjumpaan kita kali ini. Sampai jumpa lagi di post-post selanjutnya.



Salam Domba.