Newest Post

Pengontrolan LED Via Port USB Tanpa Konventer USB/RS232

| Minggu, 19 April 2015
Baca selengkapnya »

Perlahan tapi pasti, port USB telah "mengalahkan" popularitas port serial (COM) dan port paralel (LPT). Kini, komputer-komputer dan laptop terbaru tidak menyertakan lagi port serial, apalagi port paralel. Beberapa tipe motherboard masih menyertakakan sebuah port serial (COM1).Namun demikian, kini hampir semua peralatan elektronik memiliki port USB untuk berkomunikasi dengan piranti elektronik lainnya.

Port USB memang memiliki banyak kelebihan dibandingkan dengan port serial dan port paralel. Terlepas dari sudut pandang aplikasi, port USB lebih cepat dan lebih ringkas dibandingkan port serial maupun port paralel. Port USB juga menyediakan catu daya 5V DC dengan kemampuan arus maksimum 500mA untuk menyuplai perangkat elektronik berbasis USB.

V-USB adalah sebuah software implementasi protokol USB berkecepatan rendah untuk mikrokontroller ATMEL AVR sehingga memungkinkan untuk membuat piranti USB dengan sebagian besar mikrokontroller AVR tanpa tambahan chip lain. V-USB dapat di download di www.obdev.at.

libusb-win32 adalah library Win32 yang memberikan akses kepada user (bukan admin) untuk mengakses piranti-piranti USB secara generik tanpa perlu membuat kode-kode program kernel. Dengan libusb, kita dapat menggunakan fungsi-fungsi API untuk transfer data Bulk, Control, Interrupt, dan Isochronous. Library dan driver libusb dapat di download di http://sourceforge.net/apps/trac/libusb-win32/wiki.

Skematik 

Pada eksperimen ini mengunakan mikrokontroller ATtiny2313V dengan kristal 12MHz dengan sebuah LED aktif high yang terhubung ke pin PD6. Berikut adalah skematik rangkaian eksperimen USB LED.



Berikut adalah program mikrokontroller ATtiny2313 untuk pengontrolan LED dari port USB
#define ON 1
#define OFF 0
#define LED(n) ((n)==(OFF) ? (PORTD&=~_BV(PD6)) : (PORTD|=_BV(PD6))) uchar   usbFunctionSetup(uchar data[8])
{
  usbRequest_t    *rq = (void *) data;   if (rq->bRequest==4)
      LED(ON);
  else if (rq->bRequest==5)
      LED(OFF);
} /***  P R O G R A M  U T A M A  ***/
int main(void)
{
    //Inisialisasi PORT D
    PORTD = 0;  
    DDRD = ~(1 << 2);     //Inisialisasi PORT B
    PORTB = 0;    
    DDRB = ~USBMASK;      //Inisialisasi Driver USB
    usbInit();     //Aktifkan fungsi interupsi
    sei();     for(;;)
    {
          usbPoll();    //Pantau terus, apakah ada permintaan dari Host
          _delay_ms(12);
    }
    return 0;
}


Untuk mengontrol LED melalui PC diperlukan sebuah antarmuka yang pada eksperimen ini menggunakan bahasa C.Kompiler yang digunakan yakni Pelles C.

Jika button LED ON di klik, maka program akan mengirimkan request ke USB Device yakni ATtiny2313 yang sudah ditanami program USB Protocol. Demikian juga dengan button LED OFF di klik, maka program akan mengirimkan request ke ATtiny2313 dengan ID request yang berbeda.

Untuk dapat berinteraksi dengan ATtiny2313. maka driver libusb perlu diinstal terlebih dahulu. Jika komputer telah terinstal piranti USB yang menggunakan libusb sebagai drivernya, contoh AVR USB. maka modul akan dikenal sebagai USBasp.

Berikut ini adalah program Demo USB LED Control dalam bahasa C
static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    unsigned char        nBytes;
    unsigned char        buffer[64];
    switch (uMsg)
    {
        case WM_INITDIALOG:
            //Inisialisasi port USB
            usb_init();             //Buka komunikasi USB dengan Modul USBLED
            if(usbOpenDevice(&handle, USBDEV_SHARED_VENDOR, "Teknik Elektro Links", USBDEV_SHARED_PRODUCT, "TELINKS-USB LED") != 0)
            {
                MessageBox(hwndDlg, "USBLED Error: Kode Vendor dan Product Salah!", "Error!", MB_ICONERROR);
                exit(1);
            }
            return TRUE;         case WM_COMMAND:
            switch (GET_WM_COMMAND_ID(wParam, lParam))
            {
                case ID_LED_ON:
                    nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                    PSCMD_ON, 0, 0, (char *)buffer, sizeof(buffer), 5000);
                    return TRUE;                 case ID_LED_OFF:
                    nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                    PSCMD_OFF, 0, 0, (char *)buffer, sizeof(buffer), 5000);
                    return TRUE;                 case IDOK:
                    EndDialog(hwndDlg, TRUE);
                    return TRUE;
            }
            break;         case WM_CLOSE:
            EndDialog(hwndDlg, 0);
            return TRUE;     }     return FALSE;
}
Program menggunakan fungsi usb_control_msg() untuk mengirimkan request kepada modul USBLED. Identifikasi perintah LED ON dan LED OFF diletakkan pada ID-Request yang dalam hal ini angka 4 (PSCMD_ON) untuk LED ON dan angka 5 (PSCMD_OFF) untuk LED OFF.

Demikian sedikit informasi mengenai pengontrolan LED melalui port USB, semoga bermanfaat.

sumber :  http://fajar-el-ridikc.blogspot.com/#ixzz3XQ7DkMTJ

Pengontrolan LED Via Port USB Tanpa Konventer USB/RS232

Posted by : Unknown
Date :Minggu, 19 April 2015
With 0komentar
Tag :

Tutorial Software Downloader Firmware Mikrokontroler ( AVR Programmer )

| Rabu, 08 April 2015
Baca selengkapnya »
Nama     :  Merna Ermi Yanti
Kelas      :2 CB
NIM       : 06143070038
Mata Kuliah : Membuat Downloader

Tutorial Software Downloader Firmware Mikrokontroler ( AVR Programmer )
Berikut ini langkah penggunaan dan troubleshooting-nya:
  1. Pertama temen2 install dulu drivernya… tinggal cek di device manager PC ato laptop temen2.
  2. Kedua Instal software Khazamanya… tinggal Next…Finish dan Yes :D.
  3. Jalankan software Khazama AVR Programmer, berikut tampilannya:    
  4. Pada menu “ AVR : “ Pilih tipe mikrokontroler yang digunakan, misalkan ATMEGA32.
  5. Untuk mendownload program yang telah di compile ( file dalam bentuk    *.hex) berikut langkahnya:
Klik Menu File kemudian pilih “ load FLASH file to Buffer “ atau tinggal klik icon seperti gambar berikut:


  • Cari file *.hex hasil compile di folder dimana program tersebut disimpan, kemudian pilih open. 
Maka tampilan jendela khazama akan menjadi:
 
Langkah selanjutnya tinggal meng-klik tombol “ Auto Program “ maka proses downloading akan berlangsung.
  • Kemudian akan muncul jendela seperti berikut, yang menandakan proses downloading telah selesai dan berhasil ^_^
     
Berikut beberapa kejadian error saat penggunaan khazama dan troubleshootingnya.

Error diatas, terjadi jika Khazama downloader belum ditancapkan pada computer PC ato laptop anda.

Error diatas, terjadi jika Khazama downloader belum di sambungkan dengan sistem minimum mikrokontroler yang akan diprogram, solusinya adalah dengan menghubungkan keduanya. Atau dapat juga terjadi saat sistem minimum mikrokontroler dengan Khazama downloader telah terhubung, namun mikrokontroler yang digunakan adalah mikrokontroler baru (baru dari pabrikan) yang belum di konfigurasi fuse bit-nya. Maka solusinya adalah mengatur fuse bitnya terlebih dahulu.
                                                                                                                                                           
Tutorial Software ProgISP v.1.7.2
Menggunakan ProgISP_v.1.72
Salam buat sobat semua,....
Pada posting kali ini penulis akan mencoba menjelaskan sedikit cara menggunakan Software ProgISP_v1.72. Software ini digunakan dalam pemrograman mikrokontroler khususnya saat melakukan Download File *.HEX ke dalam memori mikrokontroller MCS-51. Untuk bisa menggunakan software ini tentunya sobat harus mempunyai soft-copy software tersebut, karena software ini bersifat portable jadi tidak perlu di instal terlebih dahulu.
Bentuk tampilan programnya sebagai berikut:

Gambar 1. Tampilan program ProgISP_v.1.72
Selain mempunyai soft-copy programnya, sobat juga harus punya hardware USBASP yang merupakan perangkat komunikasi antara PC dengan Chip Mikrokontroler. Setelah hardware terhubung tampilan jendela program menjadi seperti di bawah ini, perhatikan perbedaannya:
 Gambar 2.a Perhatikan perubahan yang terjadi
 Gambar 2.b Hardware terdeteksi
Selanjutnya memanggil file *.HEX yang akan di download ke memori mikrokontroller, caranya Klik tombol Load Flash - truss pilih file *.HEX yang akan di download dan Klik tombol Open, seperti ditunjukan pada gambar berikut ini :
Gambar 3.a Klik Load Flash
Gambar 3.b Memilih File *.HEX
Langkah terakhir adalah Klik tombol Auto untuk Downloadding, jangan lupa lihat proses downloadnya hingga selesai.
Gambar 4. Download proses.
Terakhir perhatikan apakah program dapat berjalan seperti yang diharapkan (pada rangkaian aplikasi mikrokontroler).
Next Prev
▲Top▲