Selasa, 21 April 2015

TELINKS-USB2REL : Modul Driver Dua Relay Dengan Interface USB Berbasis ATtiny2313


USB-2REL adalah modul driver 2-relay yang dapat dikendalikan oleh komputer melalui perantaraan port USB. Modul ini tidak membutuhkan catu daya eksternal sehingga sangat praktis untuk digunakan baik dengan komputer maupun laptop/netbook.
Modul USB-2REL (device) menggunakan V-USB, yakni open-source implementasi protokol USB kecepatan rendah untuk mikrokontroler AVR. Sedangkan pada komputer (host), program aplikasi pengontrolan modul USB-2REL dibuat menggunakan kompiler dan IDE C For Windows (freeware) yakni Pelles C. Untuk berkomunikasi dengan modul USB-2REL, program aplikasi menggunakan library libusb-win32 yang juga open-source.
Instalasi Driver Ketika modul USB-2REL dihubungkan ke komputer melalui port USB, maka sistem operasi Windows akan mendeteksi adanya piranti USB yang hadir di port USB. Selanjutnya, Windows akan melakukan proses enumerasi dengan tujuan untuk mengenali piranti USB yang baru hadir tersebut. Jika piranti USB tersebut dikenali, maka Windows akan menjalankan driver yang sesuai dan piranti USB pun siap digunakan.

Sesaat setelah modul USB-2REL terhubung ke port USB, maka mikrokontroler akan memperoleh suplai tegangan dan firmware di dalam memori program pun dijalankan. Firmware dalam mikrokontroler pun akan menjawab proses enumerasi yang dilakukan oleh Windows dengan menyetorkan ID-nya untuk dikenali oleh Windows.

Catatan: Modul USB-2REL menggunakan firmware implementasi USB buatan OBDEV (V-USB) dan telah banyak diimplementasikan oleh banyak perancang sistem mikrokontroler karena menyediakan ID yang gratis untuk digunakan. Oleh karenanya, jika port USB yang digunakan untuk modul USB-2REL pernah digunakan untuk modul USB lain seperti USBASP misalnya, maka filter libusb akan mengenali USB-2REL sebagai USBASP. Hal ini tidak menjadi masalah karena implementasi firmwarenya sama dan modul akan tetap beroperasi dengan baik sebagai driver relay.
Akan tetapi jika Windows tidak mengenali ID dari USB-2REL sebagai piranti USB yang telah terinstalasi pada port USB, maka Windows akan menampilkan dialog instalasi driver seperti screenshot berikut ini.

Modul USB-2REL dilengkapi dengan CD yang berisi installer Pelles C, source code project program aplikasi USB-2REL, dan driver libusb untuk USB-2REL.

Setelah folder driver USB-2REL dipilih dan tekan OK serta Next >, maka proses instalasi driver pun dimulai.

Setelah instalasi driver selesai dan berhasil, maka USB-2REL kini siap digunakan. :)

Program Aplikasi USB-2REL.
Ketika program aplikasi USB-2REL dijalankan, sebelum form aplikasi ditampilkan, program melakukan inisialisasi dan mencoba berkomunikasi dengan driver USB-2REL yang telah aktif. Jika gagal maka program akan menampilkan pesan kesalahan bahwa modul USB-2REL tidak ditemukan dan program pun selesai.
Tapi jika program berhasil melakukan komunikasi dengan driver USB-2REL yang telah aktif, maka form aplikasi pun ditampilkan seperti gambar di bawah ini.

Modul USB-2REL dapat diperintah atau diminta melakukan/mengerjakan fungsi tertentu sesuai dengan kode permintaan yang dikenalinya. Modul USB-2REL dapat diperintah untuk mengirimkan ID dari modul USB-2REL, yang dalam hal ini adalah data string “USB-2REL”. Pada program demo, Button Baca ID Modul akan mengirimkan permintaan tersebut kepada modul USB-2REL. Setelah ID Modul USB diterima, maka program akan menampilkannya pada editbox yang tersedia.

Modul USB-2REL juga dapat diperintah untuk mengaktifkan/mematikan RELAY-1 dan RELAY-2, baik secara individu (sendiri-sendiri) ataupun secara bersamaan. Button ON dan Button OFF pada Group RELAY-1 berfungsi untuk mengaktifkan dan mematikan RELAY-1. Sedangkan Button ON dan Button OFF pada Group RELAY-2 berfungsi untuk mengaktifkan dan mematikan RELAY-2.
Button ALL RELAYS ON berfungsi untuk mengirimkan permintaan agar modul USB-2REL mengaktifkan kedua relay secara bersamaan. Dan Button ALL RELAYS OFF berfungsi untuk mengirimkan permintaan agar modul USB-2REL mematikan kedua relay secara bersamaan. Button EXIT, seperti nama yang diberikan kepadanya, berfungsi untuk keluar dari aplikasi.
Berikut adalah foto hasil pengujian modul USB-2REL dengan program aplikasi di atas.

Modul USB-2REL beserta dengan driver dan program aplikasinya telah kami uji pada beberapa komputer yang kami miliki, antara lain:
Netbook Lenovo @1.66GHz + Windows 7
PC Pentium-4 XEON @3.2GHz + Windows XP
PC Pentium-2 @333MHz + Windows 98
Berikut adalah screenshot hasil pengujian pada sistem-sistem tersebut.

Bagi Anda pengguna Delphi, VB, VB.NET, PHP, FoxPro, atau yang lain (selain C), kami sediakan juga sebuah command-line tool untuk mengontrol modul USB-2REL melalui DOS Prompt, yakni USB2R.EXE. Informasi selengkapnya silakan membaca tulisan berikut ini:
USB2R.EXE - Command-Line Tool Untuk Modul Driver Relay USB-2REL
Berikut adalah screenshot program aplikasi kontrol USB-2REL yang dibuat menggunakan VB.NET 2005 Express Edition.

Anda juga dapat menyaksikan video demo pengontrolan modul USB-2REL berikut ini :


Nah, jika Anda berminat dengan modul USB-ini, silakan  kunjungi situs ini : http://teknikelektrolinks.com/usb-2rel/usb-2rel.htm

Sumber : Baca disini
Baca Selengkapnya...

Minggu, 19 April 2015

USB untuk mengendalikan lampu LED

Pada kesempatan ini kita akan mencoba membuat program sederhana untuk mengendalikan (ON/OFF) lampu LED melalui port USB. Sebagai mana komputer/laptop sekarang banyak yang sudah menghilangkan port paralel dan port serialnya, sebagai gantinya terpasang beberapa port USB.

Lupakan dahulu tentang specifikasi, protokol dan driver USB, kita langsung saja semudah mungkin bisa menghidupkan dan mematikan lampu LED melalui port USB. Biasanya setelah praktek bisa menghidupkan LED akan lebih mudah untuk mempelajari lebih lanjut. Ini merupakan contoh yang sangat sederhana sehingga mudah untuk diterapkan bagi pemula sekalipun.
Untuk mengotrol LED melalui port USB kita membutuhkan konverter yang bisa menerjemahkan protokol serial USB menjadi logika high low seperti yang kita inginkan. Kita tidak bisa menggunakan port USB ini langsung berlogika high atau low seperti port paralel, kita membutuhkan konverter yang menerjemahkan protokol USB ke logika high-low.
Di internet di jual bermacam-macam konverter ini, misal konverter USB ke serial yang cukup terkenal dari FTDI. Untuk pemograman LED ini kita akan mengunakan USB I/O Converter dari http://www.satu-microelectronics.com yaitu USB HID IO Converter yang berupakan USB HID yang tidak memerlukan driver tersendiri, ini seperti Mouse dan Keyboard USB yang tinggal colok dan langsung bisa digunakan.
USB HID IO Converter merupakan konverter USB ke 8 bit IO, I2C, SPI dan ADC. USB konverter ini adalah USB kelas HID (Human Interface Device) sehingga tidak memerlukan instalasi driver USB baik di sistem operasi Windows XP maupun Windows 7. Sistem operasi tersebut sudah menyediakan drivernya yang tentunya memudahkan kita dalam menggunakannya. Sistem operasi lain seperti MAC, Android dan LINUX pun juga sudah menyediakan driver untuk USB kelas HID sehingga USB HID IO Converterini juga bisa di gunakan pada sistim operasi tersebut.
Berikut penampakannya;
USB HID IO Converter
USB HID IO ConverterUSB ini bisa kita dapatkan di :  http://www.satu-microelectronics.com/?p=22

Dan berikut fungsi2 yang didukungnya;
Berikut adalah tool dan alat yang harus kita persiapkan untuk praktek ini;
  1. Komputer/Laptop yang ada port USB nya.
  2. Visual Basic NET (pada contoh ini digunakan Visual basic Express Ediotion 2005 dengan OS Windows 7)
  3. USB HID IO Converter
  4. Lampu LED , resistor 1K Ohm (jika tidak ada maka bisa dilangsungkan saja)  dan kabel untuk menyambungkan kaki LED ke terminal USB HID IO Converter.
Langkah-langkah pemograman:
1.  Sambungkan LED ke kaki2 USB HID IO Converter seperti gambar berikut;
Setelah  rangkaian LED telah dibuat, maka sekarang adalah pembuatan program yang  digunakan untuk mengontrol LED tersebut. File source code-nya dapat di download disini : http://www.satu-microelectronics.com/attach_file/VB.NET%20LED%20Driver.zip
  1. Buka VB. Pada menu File, klik perintah New Project, lalu klik OK untuk membuat sebuah file executable standar. Simpanlah project dengan nama LED_Driver.
  2. Klik kontrol Label untuk membuat sebuah label yaitu untuk  Label1yang akan kita gunakan untuk menampilkan pesan.
  3. Buat delapan buah kotak check box. Lihat gambar diatas untuk lokasi penempatan objek. Kotak  -kotak check box tersebut  nantinya akan menjadi status dari LED yang akan kita kontrol.
  4. Ubah property danukuran form agar seukuran kotak dialog sedang, seperti Gambar dibawah;

5.  Klik menu  ProjectAdd Referencedan tambahkan  HID_IOConverter_NET.dllseperti gambar dibawah. (Copykan file   
HID_IOConverter_NET.dll pada folder  project terlebih dahulu)

6.  Buka ViewCode dan tambahkan code jika ada yang kurang sebagai berikut;

Option Explicit On
Imports Microsoft.Win32.SafeHandles
Imports System.Runtime.InteropServices
Imports HID_IOConverter_NET
7. Tambahkan object class HID_IOConverter_Function dan tambahkan code untuk event Form1_Load  berikut;   Dim iHandle As SafeFileHandle
   Dim HIDi As New HID_IOConverter_NET.HID_IOConverter_Function
    Dim Returns As Long 
    Private Sub Form1_Load(ByVal sender As System.Object,   ByVal e As System.EventArgs) Handles MyBase.Load
         iHandle = HIDi.Hid_OpenDevice
        If Not iHandle.IsInvalid Then
            Returns = HIDi.GPIO_DDR_Out(iHandle, &HFF)
            Returns = HIDi.GPIO_Port_Out(iHandle, &H0)
        Else
            Label1.Text = “USB HIDClass<->IOConverter tidak terkoneksi… ” _
                        & “Koneksikan USB HIDClass<->IOConverter trlebih dahulu,” _
                        & “kemudian buka kembali program ini….”
        End If
End Sub
Berikut print screen-nya;
menambahkan objec hid

menambahkan objec hid-2
Prosedur ini akan berjalan pertama kali ketika program dijalankan. Program akan mencoba mencari USB HIDClass<->IOConverter melalui fungsi Hid_OpenDevice dan handle dari USB ini akan kita simpan pada iHandle, jika berhasil maka akan di kirim perintah GPIO_DDR_Out(iHandle, &HFF) ke USB HIDClass<->IOConverter untuk memnuat 8 bit port IO-nya sebagai output semua, kemudian  mengirim perintah GPIO_Port_Out(iHandle, 0) yang akan membuat ouput GPIO berlogika low (LED mati semua) saat awal program.




Jika USB HIDClass<->IOConverter tidak ditemukan maka akan di tampilan pesan pada Label1 bahwa USB HIDClass<->IOConverter tidak terkoneksi.
8.  Ketikkan kode program berikut ini pada even CheckBox1_CheckedChanged sampai CheckBox8_CheckedChanged
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked Then
            HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
        Else
            HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
        End If
        End Sub 
Setiap kali terjadi peng-klik-an pada CheckBox1 maka  LED pada port IO USB HIDClass<->IOConverter akan ON dan OFF.
9. Selesai sudah pembuatan program LED Driver. :)
Menjalankan Program USB HID – LED Driver
Sekarang kita siap menjalankan program LED Driver. Tancapkan USB HIDClass<->IOConverter pada komputer, kemudian klik tombol Start pada Toolbar, maka jika tidak ada kesalahan akan muncul seperti Gambar berikut;

Pada awal program, LED akan OFF semua. Peng-klik-an pada CheckBox LED0 – LED7 akan menyalakan LED, peng-klik-an selanjutnya akan mematikan kembali  LED.
Berikut penampakan alatnya; 
Baca Selengkapnya...

Rabu, 15 April 2015

BIOLOID : Robot otomatis




Bioloid adalah robot kit yang terdiri dari beberapa part yang bisa kita rakit menjadi robot sesuka kita. Dan robot yang satu ini bukan mainan anak-anak umur 7 tahun, karena part-part yang disediakan cukup teknikal dan butuh pengetahuan yang cukup. Dengan Bioloid, kita bisa merakit robot jenis apa saja, selama parts yang kita miliki mencukupi. Kemudian memprogram gerakan dan sifat robot tersebut menggunakan software yang telah disediakan. Contoh gerakan yang bisa diaplikasikan adalah transformasi, misalnya bentuk awalnya adalah mobil, kemudian bisa ditransformasi otomatis menjadi robot berdiri. Bisa terkoneksi langsung dengan PC/Laptop (USB/Wireless) ataupun dengan radio control. Bisa dipasangi kamera hingga laser panas. Kemudian juga ada detektor suara, cahaya, jarak, dsb.

Daftar Dynamixel


Bagaimana cara kerjanya?. Part utama yang menggerakan robot Bioloid adalah Dynamixel, yaitu sejenis R/C servo (dinamo), tapi berbeda dengan R/C servo biasa, Dyamixel bekerja dalam jaringan yang memiliki fungsi feedback. Dengan begitu, seluruh Dynamixel pada Bioloid bisa bekerja sama dengan saling mengirimkan feedback.



Sebagai contoh, untuk membuat tangan robot, maka diperlukan 3 poros, yaitu bahu, siku dan pergelangan tangan. Maka kita memerlukan 3 Dynamixel. Satu diletakan di bahu, di siku dan terakhir di pergelangan tangan. Kemudian untuk melakukan gerakan melambai (misalnya), maka ketiga Dynamixel ini saling berkomunikasi dalam melakukan setiap gerakan agar poros-poros tangan tersebut bisa mensimulasikan gerakan melambai. Simpel kan?. Banyaknya jumlah Dynamixel pada sebuah robot tergantung dari design kita. Anggap saja untuk sebuah tangan/kaki diperlukan 3 dynamixel, maka diperlukan sekitar 12 dynamixel (atau lebih) untuk membuat robot menyerupai manusia. Tapi itu semua kembali pada design yang kita miliki, karena dengan jumlah Dynamixel yang sedikitpun kita tetap bisa membuat robot yang diinginkan asalkan designnya tepat.

contoh aplikasi dynamixel pada bioloid


Part selanjutnya yang tidak kalah penting adalah CM-5, ini adalah part utama yang mengontrol semua Dynamixel. Karena ini adalah centralnya, jadi untuk satu robot biasanya hanya butuh 1 buah CM-5. Part ini bisa dibilang sebagai komputer kecil, dimana didalamnya terdapat berbagai macam instruksi yang menggerakan setiap Dynamixel. Kita tidak perlu memusingkan part ini, karena dia bekerja otomatis sesuai instruksi yang diberikan. Cukup meletakannya di robot kita dan menghubungkannya ke semua Dynamixel. CM-5 menerima instruksi dari PC / controller untuk kemudian memberikan perintah kepada Dynamixel untuk bergerak.
CM-5 pada robot.

Kemudian komponen selanjutnya adalah software, Bioloid menyertakan software The Behaviour Control Programmer dan Three-Dimensional Motion Editor. Setelah kita merakit robot sesuai design kita, selanjutnya kita menghubungkannya dengan software tersebut untuk membuat gerakan-gerakan dan sifat-sifat robot. Sifat-sifat robot ini contohnya adalah, ketika detektor suara mendeteksi suara sekian dB, maka akan melakukan gerakan-gerakan tertentu, dan lain sebagainya. Kemudian software motion editor juga bisa digunakan untuk membuat gerakan kompleks bagi si robot, sebagai contoh adalah robot mobil yang berubah menjadi prajurit, atau sebaliknya.
Mengedit gerakan dan sifat robot

Mengedit gerakan dan sifat robot

Ketiga part inilah yang menjadi kunci utama bioloid. Dengan PC/Laptop, kita nyalakan software yang telah disediakan, lalu hubungkan PC/Laptop kita dengan CM-5 yang ada pada bioloid menggunakan kabel USB yang telah disediakan, kemudian robot bioloid pun siap dioperasikan. Dengan cara kerja sebagai berikut : PC/Laptop mengirimkan instruksi ke CM-5, kemudian CM-5 menerima instruksi lalu memerintahkan Dynamixel untuk bergerak.

Kemudian part yang juga dikontrol oleh CM-5 adalah Sensor Module (AX-S1), part ini difungsikan untuk mendeteksi jarak, mendeteksi suara, dan sebagainya.

Part-part selanjutnya adalah frame, yaitu casing-casing kecil yang bisa ditempelkan dibagian-bagian tubuh si robot, kemudian sekrup, kabel, stiker, dan lain sebagainya.
Part-part bioloid sebelum dirakit

Bioloid sendiri terjual secara paketan dan terpisah. Untuk paket, ada jenis Beginner (pemula) yang berisikan sebuah CM-5, 4 buah Dynamixel, 1 buah sensor module, baterai, power eksternal, CD, manual, dan part-part aksesoris lainnya. Kemudian paket lainnya adalah Comprehensive dan Expert, yang berisikan lebih banyak part dan bisa mengaplikasikan lebih banyak hal. Bioloid juga ada yang dijual terpisah, dimana kita bisa membeli dynamixel dan part-part lainnya sendiri-sendiri.
Baca Selengkapnya...