Monday, December 12, 2011

Cara instalasi dan penggunaan KontrollerLab sebagai editor untuk GCC-AVR di Ubuntu (part I)


Sekitar beberapa bulan yang lalu terbesit di dalam pikiran untuk mencoba menggunakan compiler AVR yang dapat berjalan di OS Ubuntu. Setelah mencari-cari di internet, jatuhlah pilihan pada software yang dikembangkan oleh CADMANIAC. (www.cadmaiac.org). Software KontrollerLab ini berlabel freeware sehingga dapat digunakan oleh siapapun tanpa harus membayar.
Selain freeware, software ini juga menggunakan compiler GCC-AVR yang sangat terkenal dikalangan program open source untuk mikrokontroler AVR. Jika di windows, kita bisa temukan compiler ini bersamaan dengan program WinAVR atau pada Eclipse yang telah terintegrasi dengan GCC-AVR.
Sedangkan untuk proses pengisian kode program ke dalam mikrokontroler, software ini juga menggunakan program AVRDUDE seperti halnya WinAVR.
Ketika membaca dan mencoba program ini, dapat disimpulkan bahwa program ini hampir mirip dengan WinAVR yang hanya dapat bekerja dilingkungan Windows. Jika pada sebelumnya terbiasa degan WinAVR, maka tentu saja kita tidak terlalu bingung dalam mengoperasikan program ini.
Sebenarnya percobaan menggunakan software ini telah dilakukan beberapa bulan yang lalu ditengah-tengah kesibukan bekerja (kebetulan saya bekerja ruang lingkup yang sama, jadi bisa dibilang sekali dayung 2-3 pulau terlampaui....lebay....), akan tetapi kesempatan untuk melakukan dokumentasi baru saat ini.
OK, tidak usah basa-basi lagi, langsung saja dimulai...

1. Pertama-tama, siapkan dulu instalasi avr-dude, gcc-avr dan avr-libc:
  • Bukan program Terminal 
  • Ketikan kode berikut ini :
sudo apt-get install avrdude gcc-avr avr-libc


Tunggu sampai semua instalasi selesai. Lama waktu yang diperlukan dalam proses ini sangat bervariasi tergantung dari koneksi internet yang digunakan.

2. Lakukan instalasi KontrollerLab.
Program KontrollerLab dapat di temukan pada link ini

Setelah didapat package instalasi software tersebut, kemudian lakukan instalasi.
Cara yang dijelaskan dan lokasi folder tidak mutlak, dapat diganti dengan yang lain.




  • Letakan package instalasi pada di "/home/<user>/Desktop". Ganti <user> dengan nama akun yang sedang digunakan. Misalnya : /home/Admin/Desktop
  • Ketikan kode ini di program terminal
sudo dpkg -i /home/<user>/kontrollerlab_0.8.0beta1-0gutsy1_i386.deb
note : <user> diganti dengan nama akun yang sedang digunakan. Misal:
sudo dpkg -i /home/Admin/kontrollerlab_0.8.0beta1-0gutsy1_i386.deb

Setelah instalasi selesai, program dapat dijalan dengan masuk ke Menu Application | Programming | KontrollerLab




Jika semua berlangsung dengan lancar, maka akan ada penampakan seperti berikut ini.
Langsung saja buat project baru.





Setelah project siap, maka buat file .c / .h sebagai media penyimpanan list program.




Pilih salah satu tipe file, beri nama dan save




Setelah selesai membuat project dan file, maka lakukan pengaturan project









Nah, cukup mudah kan?
Selamat mencoba!!!!!!

Saturday, December 10, 2011

Mengubah warna baris di DataGrid VB.net


Membangun aplikasi software tidak hanya diperlukan keahlian dalam melakukan coding, akan tetapi perlu diperhatikan juga masalah tampilan dan user interfacenya.
Pada kesempatan kali akan dipaparkan salah satu cara memperindah tampilan program.
Pembahan kali ini jatuh pada properti DataGridView VB.net, khususnya VB.net 2008.


Sesuai dengan kata pepatah, "banyak jalan menuju roma", sama juga halnya dengan pembuatan sebuah program. Banyak sekali cara dan trik berbeda yang diterapkan oleh masing-masing programmer.

Berikut ini cara yang cukup sederhana dan mudah dimengerti dalam mengisikan data di datagrid dan mengubah warna disetiap baris genap dan garis ganjil.

Thursday, December 8, 2011

DT-HiQ AVR-51 USB ISP

DT-HiQ AVR-51 USB ISP merupakan in-system programmer yang dapat dihubungkan ke komputer melalui port USB untuk memprogram mikrokontroler keluarga AVR® 8 bit RISC dan MCS-51® yang memiliki fitur ISP. Produk ini dapat bekerja dengan perangkat lunak yang mendukung protokol STK500/AVRISP seperti AVR Studio©, CodeVisionAVR©, AVRDUDE (WinAVR) dan BASCOM-AVR© untuk memprogram mikrokontroler AVR. DT-HiQ AVR-51 USB ISP juga dilengkapi dengan perangkat lunak berbasis Windows® yang menyediakan antarmuka yang sederhana dan mudah untuk memprogram mikrokontroler keluarga MCS-51 seri AT89.

Dimensi : (belum termasuk kabel ) 6,6 cm (p) x 4,1 cm (l) x 1,5 cm (t).
Panjang kabel ISP : ±10 cm.

Spesifikasi :
  • Dapat digunakan untuk semua tipe AVR® 8 bit RISC dan mikrokontroler MCS-51® seri AT89 yang memiliki fitur ISP.
  • IC yang didukung :
    • Keluarga AVR
      Sesuai dengan dukungan perangkat lunak yang digunakan.
    • Keluarga MCS-51
      AT89LP2052, AT89LP405, AT89S2051, AT89S4051, AT89S51, AT89S52AT89S53, AT89LS53, AT89S8252, AT89LS8252, AT89S8253.
  • Antarmuka USB ke komputer.
  • Beroperasi pada tegangan target 2,7V sampai 5,5V.
  • Mengambil suplai daya dari target board dengan kebutuhan arus maksimum 50 mA @ 5,5 V, sehingga aman bagi komputer jika terjadi hubungan singkat pada target board.
  • Menggunakan protokol ATMEL STK500/AVRISP (dengan baud rate 115200 bps) untuk mikrokontroler AVR® 8 bit RISC.
  • Mendukung Flash, EEPROM, Lock Bit, Fuse Bit Programming, dan mendukung file format Intel HEX atau BIN serta dilengkapi perangkat lunak berbasis Windows® untuk keluarga mikrokontroller MCS-51 seri AT89.
  • Tersedia 2 pilihan konektor ISP (5x2) standar ATMEL untuk target board dengan mikrokontroler keluarga AVR dan MCS-51.
  • Tersedia USB driver yang kompatibel dengan Windows® XP/Vista.
  • Enclosure berbahan logam.
  • Dilengkapi indikator untuk power dan status dengan warna yang berbeda.
  • Dilengkapi soket konverter DT-HiQ AVR ISP 10 to 6 Converter untuk menghubungkan AVR in-system programmer berkonektor 10 pin ke target board berkonektor ISP 6 pin.
  • Dilengkapi dengan panduan troubleshooting dan solusinya.
Perlengkapan :
  • 1 unit DT-HiQ AVR-51 USB ISP.
  • 1 set kabel USB (p=±70 cm).
  • 1 unit soket konverter DT-HiQ AVR ISP 10 to 6 Converter.
  • 1 lembar Quick Start
  • 1 buah CD-ROM berisi driver USB, perangkat lunak, manual, panduan pembuatan target board, dsb.
Harga : 180.000,- (Harga belum termasuk ongkos kirim)
Informasi pembayaran dan pengiriman barang dapat dilihat di sini
    Keterangan Lengkap dapat dilihat pada website www.InnovativeElectronics.com

    Friday, December 2, 2011

    Rangkaian ISD2560



    IC ISD2560 sudah cukup terkenal sebagai IC perekam suara yang cukup handal dan praktis.
    Salah satu kelemahan IC ini adalah tidak dapat memutar ulang hasil rekaman menurut pengalamatan / addresing dengan tepat. Memang ISD2560 menawarkan fitur Address Mode, akan tetapi kita tidak dapat memastikan secara pasti rekaman suara pertama, kedua, ketiga, dst berada di kisaran alamat yang mana.
    Berikut ini rangkaian sederhana untuk ISD2560 yang dapat langsung dihubungkan dengan uC (AVR, MCS-51, PIC, BASIC Stamp, dll).

    Sebenarnya pada datasheet ISD2560 telah menyediakan rangkaian yang dapat kita gunakan sebagai referensi, akan tetapi pada rangkaian diatas saya sedikit lakukan perubahan pada bagian filter MIC.

    Jenis kapasitor pada rangkaian ini pada umumnya menggunakan kapasitor jenis multilayer.

    Sebagai penghasil suara, gunakan speaker kecil yang biasa digunakan pada mobil maninan anak-anak atau speaker 3 inch 4ohm.
    Sedangkan untuk urusan input suara, gunakan condensor mic yang dapat mudah ditemukan di toko penjual komponen elektronika.

    Rangkaian ini didesain agar proses input "Play", "Record", "Stop", "Pause" sepenuhnya dikendalikan oleh mikrokontroler.

    Perihal konfigurasi pin A0-A9, konfigurasi ini merupakan konfigurasi agar ISD2560 bekerja dengan mode "Operational Mode"
    Berikut ini penjelasan singkat tentang konfigurasi pin A0-A9.
    Address/Mode Inputs : Fungsi dari pin2 ini adalah mengatur jenis pengeporasian ISD2560. Pengaturan jenis pengoperasian IC ini sepenuhnya dikendalikan oleh bit MSB (bit ke-8 dan bit ke-9 / A8 dan A9).
    Apabila kedua pin tersebut terhubung ke sinyal GND, maka IC ISD2560 akan masuk ke menu Address Mode dan fungsi dari pin A0 - A7 sebagai input alamat.
    Apabila kedua pin tersebut terhubung ke sinyal VCC, maka IC ISD2560 akan masuk ke menu Operational Mode dan fungsi dari pin A0-A7 sebagai input untuk pemilihan mode kerja.
    Berikut ini tabel pemilihan jenis mode kerja pada Operational Mode

    Sesuai dengan penjelasan diatas, maka dapat dipiliah mode ke-6, yaitu Simplified Device Interface (A6/pin7, A8/pin9, A9/pin10) terhubung ke VCC.

    Logika input :
    Pin /CE memiliki karakteristik aktif low dan berfungsi sebagai input perintah agar memainkan ulang / menghentikan sementara suara yang akan / telah dimainkan. Agar lebih mudah dimengerti, fungsi pin adalah "Play" / "Pause". Ketika IC belum memainkan suara, maka berfungsi sebagai "Play". Jika IC sedang memainkan suara, maka berfungsi sebagai "Pause".

    Pin PD memiliki karakteristik aktif high dan berfungsi sebagai input perintah agar menghentikan suara yang telah dimainkan. Ketika pin ini mendapakan logika high, maka secara otomatis pointer untuk alamat memori menjadi awal. Oleh karena perbuatan ini maka ketika tombol "Play" ditekan, maka akan memainkan suara dari awal lagi.

    Pin PR berfungsi sebagai input perintah agar IC melakukan perekaman suara atau memainkan suara. Jika mendapatkan logika high maka berfungsi sebagai "Playback" / memainkan suara. Jika mendapatkan logika low maka berfungsi sebagai "Reoord".
    Jika masuk ke menu record, maka modul tidak akan secara otomatis mereka suara. Untuk memulai perekaman suara harus memberikan logika low beberapa saat terlebih dahulu di pin /CE (berfungsi sebagai "Start"). Setelah selesai merekam, maka berikan lagi logika low beberapa saat untuk menghentikan perekaman.

    Berikut ini penampakan pembuatan modul ISD2560

    Bagaimana?
    Berminat untuk membuat????

    Thursday, December 1, 2011

    DT-HiQ AVR USB ISP


    DT-HiQ AVR In Sytem Programmer dipadukan dengan CodeVisionAVR© merupakan sarana pemrograman untuk mikrokontroler Atmel® seri AVR yang memiliki fasilitas In-System Programming.
    Dimensi : 6,0 cm (P) x 4,8 cm (L) x 2,2 cm (T)

    Spesifikasi :
    • Parallel(LPT) Port Interface.
    • Kompatibel dengan software yang mendukung AVR ISP In-System Programmer Kanda System STK200/300 seperti CodeVisionAVR©.
    • Konektor standar Atmel.
    • Beroperasi pada tegangan 3,3 - 5 V.
    • Port tidak terbebani saat "Running".
    • Tersedia Pin Output untuk indikator pemrograman.
    • Sistem operasi komputer: Windows® 9x/NT™ 4/2000/XP.
    • Kompatibel dengan Atmel® Microcontroller seri AVR ISP, antara lain:
      • AT90S1200.
      • AT90S2313.
      • AT90S2323(L).
      • AT90S2343(L).
      • AT90S8515.
      • AT90S8535(L).
      • ATmega8515(L).
      • ATmega8535(L).
      • ATmega16(L).
      • ATmega162(L/U/V).
      • ATmega169(L/V).
      • ATtiny13.
      • ATtiny22(L).
      • ATtiny26(L).
    Perlengkapan :
    • 1 bh AVR In System Programmer + kabel ISP sepanjang 1,2 m.
    • 1 bh CD (Free CodeVisionAVR© demo version).
    • 1 lbr Quick Start dan semuanya itu dikemas dalam plastik yang menarik.
    Harga : 68.000,- (Harga belum termasuk ongkos kirim)
    Informasi pembayaran dan pengiriman barang dapat dilihat di sini

    Keterangan Lengkap dapat dilihat pada website www.InnovativeElectronics.com

    Cara penggunaan WinAVR

    WinAVR merupakan suatu paket AVR-GCC yang khusus didistribusikan untuk OS Window. AVR-GCC sendiri merupakan kumpulan dari program yang berfungsi untuk mengubah bahasa C menjadi Hex (.Hex) intel.

    Shortcut pada WinAVR (Progammer Notepad)


    Merasa ribet untuk menekan tombol "[WinAVR] Make All" atau "[WinAVR] Program" pada setiap kali ingin meng-compile atau memprogram mikrokotroler? Merasa lebih mudah CodeVison AVR dalam penggunaanya??Eitss....tunggu dulu....Coba baca tutorial ini dulu...baru berpikir dua kali untuk meninggalkan WinAVR dengan menggunakan Programmer Notepad.


    Cara menambahkan shortcut untuk Programmer Notepad
    Jalankan Programmer Notepad
    Arahkan tikus ke Tools | Options

    *Menu ini hanya khusus tersedia untuk programmer notepad yang terinstall bersamaan dengan WinAVR.


    Setelah masuk ke dalam menu Option, cari tulisan Tools pada sebelah kanan menu tersebut.
    Klik tulisan tersebut.

    Pilihan menu yang akan ditambahan shortcut. Pada contoh ini, ketiga menu "Make All", Make Clean" dan " Program" akan di tambahan shortcut.
    Make All >>> F8
    Make Clean >>> Shift F8
    Program >>> F9


    Sebagai contoh, klik tulisan "[WinAVR] Make All" dan tekan tombol "Edit". Akan muncul jendela sebagai berikut:

    Arahkan tikus ke kolom Shortcut. Setelah diarahkan dan di klik pada kolom tersebut, pastikan kursor tikus sudah berada pada kolom tersebut. Nah Time To Create Shortcut...................
    Tekan tombol pada keyboard yang akan dijadikan shortcut untuk menu [WinAVR] Make All.
    Sesuai dengan contoh awal, menu [WinAVR] Make All ditambahkan shortcut F8, maka cukup tekan tombol F8, maka tulisan pada kolom shortcut akan berubah dari "None" menjadi "F8"

    Hal ini berlaku juga untuk menu "[WinAVR] Make Clean" dan "[WinAVR] Program".
    Apabila Shortcut yang ingin dimasukan berupa 2 tombol, maka kombinasi tersebut harus sebagai berikut :
    CTRL + ....
    Shift + .....
    ALT + .....
    Agar dapat memasukan shortcut tersebut, ikuti langkah berikut.
    Pastikan kursor tikus sudah berapa pada kolom shortcut (seperti pada penjelasan sebelumnya)
    Kemudian tekan terus tombol Shift/Ctrl/Alt pada keyboard, dan dikuti tombol lainya. (Ketika menekan tombol lainya, tombol Shift/Ctrl/Alt jangan dilepas).
    Setelah selesai membuat shortcut untuk ketiga menu tersebut, tekan OK dan OK
    Nah silahkan coba shortcut tersebut...
    Mudah bukan??
    Gimana?masih berfikir Programmer Notepad jadul????Atau punya pendapat lain??
    Selamat Mencoba!!

    Cara penggunaan WinAVR


    WinAVR merupakan suatu paket AVR-GCC yang khusus didistribusikan untuk OS Window. AVR-GCC sendiri merupakan kumpulan dari program yang berfungsi untuk mengubah bahasa C menjadi Hex (.Hex) intel.

    Compiler C akan menghasilkan file dengan format ".asm" dari setiap file input ".c" yang kemudian akan diubah ke dalam file objek oleh assembler, di mana banyaknya file objek sama dengan file ".asm". Setelah proses tersebut dilakukan, linker akan bertugas untuk menyatukan file-file objek dan fungsi-fungsi yang bersilangan di antara file objek dan mengambil modul library c yang digunakan ke dalam satu file objek yaitu file ".ELF". Dengan menggunakan avr-objcopy file ".ELF" diubah menjadi file ".Hex"

    Dari keempat proses tersebut (compiler, assembler, linker, dan avr-objcopy) oleh WinAVR dijadikan dalam satu file yang disebut "makefile", sedangkan untuk proses kompilasi "makefile" itu sendiri ditangani oleh "make.exe"
    Dari keterangan tersebut, dapat diambil kesimpulan bahwa untuk pembuatan suatu program dengan menggunkan WinAVR diperlukan :
    1. file (nama_file.c) yang berisikan listing program untuk mikokontroler AVR dalam bahasa C
    2. file (makefile) yang berisi semua peraturan proses kompilasi program

    Proses Instalasi WinAVR
    WinAVR dapat diunduh pada link ini
    Buka file WinAVR tersebut dan ikuti petunjuk intruksi instalasi hingga selesai.

    Untuk menuliskan kode program bahasa c, kita dapat menggunakan software programmer notepad yang secara otomatis ter-install ketika melakukan istalasi WinAVR. Apabila software programmer notepad tidak muncul pada desktop, maka kita dapat memanggil program tersebut pada folder berikut ini :
    "C:\WinAVR-20100110\pn" (lokasi tersebut merupakan lokasi default pada saat instalasi WinAVR)

    Tampilan Programmer Notepad

    Proses pembuatan program
    Untuk membuat sebuah file ".c", pilih C/C++ pada menu plain text

    Setelah itu save as dengan akhiran ".c" Contoh: "main.c"
    Setelah listing program selesai di ketik dan di simpan (contoh "main.c"),langkah selanjutnya pengaturan makefile. Apabila program makefile tidak tersedia pada desktop, maka program tersebut dapat diakses pada folder berikut ini: Start | All Programs | WinAVR-20100110 | Mfile[WinAVR]


    Gambar disamping merupakan tampilan dari program Mfile ketika dijalankan. Mfile tersebut sudah memiliki template asli (kode-kode bawaan software) untuk membuat makefile. Dengan adanya template ini kita tidak perlu untuk memahami setiap perintah dalam makefile, akan tetapi kita sudah dimanjakan dengan hanya perlu memilih tipe IC, nama file, frekuensi osilator, dll.


    Pengaturan dari Mfile adalah sebagai berikut:
    1. Main file name...
    Menu ini digunakan untuk nama file ".c" yang akan di compile, misalnya "main.c" maka tulisan pada kolom Main file adalah "main" tanpa tambahan ekstensi ".c"



    2. F_CPU
    Merupakan pengaturan frekuensi osilator/kristal yang akan digunakan pada mirkokontroler AVR. Nilai frekuensi ini harus sama dengan nilai frekuensi yang akan digunakan pada mikrokontroler AVR. Jika nilainya berbeda, maka detak antara hardware dengan software tidak seirama, sehingga jalanya software tidak akan pernah sama seperti apa yang diharapkan. Pengisin nilai frekuensi ini tidak terdapat pada menu pilihan, sehingga harus diisikan secara manual. Agar dapat mengisiakan data secara manual, maka pilihan "enable editing" harus diaktifkan


















    Terdapat 2 cara untuk mengatur nilai frekuensi yang akan digunakan:

    1. Hilangkan tanda "#" (pagar) pada salah satu pilihan F_CPU, dan beri tanda "#" pada tulisan F_CPU paling bawah




    2. Ubah nilai "F_CPU = 8000000" dengan "F-CPU = 'xxxxxxx'"



    Langkah berikutnya adalah pemilihan IC atau MCU type



    Kemudian pemilihan Output format

    Fungsi ini digunakan untuk memilih format file yang akan dihasilkan. Untuk penggunaan standar, pilih ihex (intel .hex).




    Optimization Level

    Untuk memilih level dari optimalisasi ukuran file. Pada penggunaan standar, pilihlah "S".
    0 = tidak dioptimalisasi
    s = optimalisasi ukuran
    3 = bukan berarti pada level ini akan menghasilkan kode hex paling kecil.



    Debug format
    Berfungsi untuk memilih format debug. Apabila hasil dari kompilasi file tersebut ingin disimulasikan pada AVR Studio, maka pilihlah "avr-ext-COFF". Jika tidak, pilihlah "ELF/DWARF-2"



    Untuk pengaturan yang terakhir, yaitu Programmer
    Pilihlah sesuai dengan downloader yang akan digunakan.
    Untuk programmer, dapat menggunakan programmer/downloader dari Innovative Electronics, yaitu DT-HiQ AVR In-System Programmer atau DT-HiQ AVR USB ISP.
    DT-HiQ AVR In-System Programmer


    DT-HiQ AVR USB ISP

    Apabila menggunakan DT-HiQ AVR In-System Progammer, maka pilih "stk200" pada menu "Programmer" dan pilih "lpt1" pada menu "Port"
    Setelah selesai melakukan pengaturan, jangan lupa save makefile tersebut. Letakan file tersebut di dalam satu folder dimana file "main.c" disimpan.

















    Setelah file makefile siap, maka kita tinggal melakukan proses compile pada file "main.c" dengan menggunakan progammer notepad
    Pilih Tools | [WinAVR] Make All
    Apabila pada listing program tersebut tidak terdapat kesalahan penulisan, maka programmer notepad akan memberikan konfirmasi bahwa proses compile berhasil



    Proses Compile gagal

    Proses Compile Berhasil

    Apabila terdapat kesalahan pada penulisan, maka proses compile tidak akan dilanjutkan, dan programmer notepad akan memberikan konfirmasi perihal kesalahan pada listing program yang mengakibatkan proses compile di batalkan.
    Setelah proses compile telah berhasil, maka WinAVR akan secara otomatis menambahkan beberapa file tambahan pada folder dimana file "main.c" diletakan, seperti :
    main.hex, main.eep, main.cof, main.elf, main.map, main.sym, main.lss, main.o, main.lst, main.s, main.d, main.i, .dep.
    Jika ingin melakukan proses download ke dalam mikrokontroler, maka pilih Tools | [WinAVR] Program pada programmer notepad. Jika proses program selesai maka programmer notepad akan memberikan konfirmasi kepada kita.

    Nah, dengan demikian selesailah penjelasan singkat mengenai penggunaan WinAVR.
    Selamat Mencoba!