Wednesday, May 3, 2017

Bootloader untuk AVR dengan VUSB

Project kali ini adalah tentang Bootloader AVR dengan sarana VUSB untuk menjadi USB device.

Apa itu bootloader?
Bootloader adalah program aplikasi yang ditanamkan dalam mikrokontroller AVR sebagai program yang dapat mengisi flash (program) pada sektor aplikasi utama menggunakan sarana USB/ UART bukan melalui ISP.
Dengan kata lain, bootloader adalah program untuk mengisi program utama tanpa bantuan ISP Programmer lagi.
Bootloader akan tetap ada dan dapat digunakan sewaktu-waktu.
Bootloader akan hilang dengan sendirinya apabila anda memprogram USBBootAVR  anda menggunakan ISP programmer, kalau itu terjadi maka tinggal masukkan kembali program bootloader ke dalam USBBootAVR anda menggunakan ISP programmer dan USBBootAVR  anda akan siap bertugas kembali.

Sarana komunikasi yang digunakan adalah USB stack dari VUSB dengan driver libusb.dll.
Device akan dikenali sebagai "libusb-win32 devices" pada komputer windows setelah driver terinstall.

Penggunaan USBBootAVR device ini sangat mudah karena sudah saya buatkan software untuk mengisi program utama.
Adapun file untuk mengisi program utama adalah file hex yang dihasilkan oleh compiler anda, seperti pada saat anda mengisi program utama pada project anda.
Bedanya adalah anda tidak perlu menggunakan tambahan ISP Programmer lagi untuk mengisinya, melainkan langsung menghubungkan AVR anda ke komputer lewat USB dan mengisinya menggunakan software USBBootAVR .

Penampakan dari software USBBootAVR


Anda tinggal memilih type AVR anda lalu load file hex anda dan klik tombol program maka program utama akan terisi dan aplikasi utama akan langsung dijalankan.

Berikutnya akan saya jelaskan cara membuat AVR anda menjadi USBBootAVR device.
Tetap ikuti perkembangannya ya :]

Friday, October 2, 2015

Universal IR / RF Remote Reader dan Decoder Software

Project kali ini merupakan pembaruan dari versi sebelumnya, dimana sinyal remote yang dibaca secara sampling bisa dilihat secara grafis pada PC dan langsung bisa di decode.

Interface yang digunakan menggunakan ATmega8 yang bisa anda buat sendiri dengan mudah (skematik tercantum).
Hanya dibutuhkan IC AVR ATmega 8 dengan kristal dan MAX232 untuk komunikasi serial dengan PC, bila yang di decode adalah sinyal IR maka dibutuhkan 1 unit IR receiver yang harganya cukup murah.

Pen-decode-an tidak tergantung pada protocol, namun langsung dari sinyal yang didapat.
Jadi apapun jenis remote anda bahkan remote control mobil mainan anak juga bisa anda decode dengan mudah.

Melihat banyaknya data bits yang dikirim per tombol, kecil kemungkinan untuk terjadinya salah decode, yang dimaksudkan disini adalah kemungkinan beberapa remote menghasilkan data yang sama.

Hasil decode bisa langsung di verifikasi ulang untuk memastikan hasil pen-decode-an sudah benar.

Untuk yang versi full akan menghasilkan Source Code yang bisa dipakai untuk AVR GCC atau AVR Studio, yang bisa dengan mudah dimodifikasi untuk digunakan di CodeVisionAVR dan Arduino.

Interface Schematic



Berikut penampakan softwarenya.
Data di tangkap kemudian bisa langsung dianalisa dan di-decode secara langsung.
Panjang data yang didapat bisa secara otomatis dideteksi atau bisa kita pakai yang sesuai dengan kebutuhan kita, misalnya: data yang dikirim berupa address dan command, kita bisa memilih untuk memakai bagian address atau command saja untuk efisiensi code dalam AVR.



Data yang sudah di dapat bisa di verifikasi secara langsung, dengan cara menangkap sinyal data yang sama untuk melihat apakah hasil analisa dan decode kita sudah benar.
Hasil tersebut lalu disimpan untuk bisa dipakai di kemudian hari.



Video tutorial untuk mendecode berbagai macam remote akan menyusul.
Tetap ikuti perkembangannya ya.

Link download disini

Wednesday, January 16, 2013

LED Display using V-USB

Project membuat LED Display dengan komunikasi USB.
Tulisan akan langsung ditransfer melalui USB tanpa menggunakan RS232 Converter karena hasilnya akan lebih lambat.
Disini digunakan driver libusb bukan com, meskipun sebenarnya bisa melalui berbagai cara selain RS232.

Penampakan softwarenya:


Thursday, December 20, 2012

GUI for V-USB Tester 3

Kalau sebelumnya menggunakan Control Transfer, maka kali ini menggunakan Interrupt Transfer dengan endpoint 1 dan endpoint 2 (sampai 16), Control Transfer dengan endpoint 0. Jadi total ada 3 endpoint.

Berikut penampakan softwarenya:


Saturday, December 15, 2012

GUI for V-USB Tester 2

Aplikasi tambahan untuk contoh project menggunakan V-USB.
Penggunaan I2C  menjadi mudah, bisa digunakan untuk aplikasi EEPROM, RTC dan Sensor.
Penggunaan USART sebagai USB to UART converter (namun agak lambat).

Penampakan softwarenya:

Wednesday, November 28, 2012

GUI for V-USB tester

Bagi yang ingin mempelajari mengenai V-USB, berikut adalah GUI untuk pengetesan project libUSB yang pernah di post beberapa saat lalu namun telah dijadikan satu untuk mempermudah pemakaiannya.
Beberapa contoh aplikasi juga ada sebagai acuan penggunaan project dengan USB tanpa menggunakan USB to UART converter.
Tinggal kreasi kita sendiri untuk meng-otak-atik firmwarenya sesuai kebutuhan kita.

Berikut penampakan softwarenya:


Thursday, October 18, 2012

Reading IR Transmitter from Zyma Counter Rotation Heli 2

Contoh project hasil decoding untuk stik "Throttle".
Untuk stick "Rudder" dan "Elevator", harus digerakkan dulu stick throttle (tidak pada posisi terbawah) baru kedua stick tersebut menghasilkan command code.
Ini sesuai dengan fungsinya apabila baling2 utama belum berputar maka kedua fungsi tersebut tidak boleh diaktifkan.
Untuk bisa simultan 3 servo sesuai dengan channel remote (3 channel), dibutuhkan AVR dengan 2 buah 16 bit timer untuk menghasilkan pulsa (yang lebih teliti ketimbang 8 bit timer) untuk beberapa servo dan tinggal menyesuaikan hasil decoding dengan servo yang akan digerakkan.

Penampakan Transmiter dan decodernya

Videonya