Diberdayakan oleh Blogger.

Mengendalikan Lampu dengan komputer melalui port USB Dengan Rangkai'an USB-2REL

Minggu, 19 April 2015

Nama : Mohammad Apryan Suhendra
kelas  : 2CB
Nim    : 061430700539
Mata Kuliah : Interface Komputer
Dosen : Ali Firdaus S.kom.M.kom

Mengendalikan Lampu dengan komputer melalui port USB Dengan Rangkai'an USB-2REL

usb2rel_off_300
USB-2REL adalah modul driver 2-relay dengan antarmuka USB. Modul ini tidak membutuhkan catu daya eksternal sehingga sangat praktis untuk digunakan pada aplikasi pengontrolan peralatan listrik menggunakan komputer atau laptop.
Pemrograman antarmuka port USB tidaklah semudah pemrograman antarmuka port paralel LPT atau port serial RS232. Oleh karenanya modul USB-2REL dilengkapi dengan dua buah program siap-pakai untuk mengontrol modul USB-2REL yakni USB2REL.EXE (GUI) dan USB2R.EXE (Console).
Jika Anda membeli modul USB-2REL maka Anda akan mendapatkan beberapa kelengkapan modul yakni:
  • Kabel data USB (kabel printer USB)
  • CD Program yang berisi driver modul USB-2REL, program USB2REL.EXE (GUI), program USB2R.EXE (Console), dan installer Libusb-Win32.
Pada tulisan ini saya akan memberikan sebuah contoh aplikasi pengontrolan modul USB-2REL melalui web/internet. Halaman web dibuat menggunakan skrip HTML dan PHP. Dan untuk mengakses modul USB-2REL, digunakan program USB2R.EXE. Berikut adalah screenshot halaman web kontroler modul USB-2REL yang ditampilkan dalam browser Google Chrome.
usb2rel_web
Secara sederhana, halaman web kontroler menggunakan 6 buah button sebagai user-interface. Jika button ditekan maka server akan menerima permintaan tersebut dan mengeksekusi program USB2R.EXE untuk mengontrol relay sesuai dengan perintah yang diberikan oleh user.
Nah, berikut adalah listing skrip USB2REL.PHP.

Kontrol USB-2REL Via Web   

usb2rel_web

Chandra MDE – http://teknikelektrolinks.com">http://teknikelektrolinks.com;
    if (isset($_POST['ON1']))
          exec("usb2r.exe R1");
      else if (isset($_POST['ON2']))
        exec("usb2r.exe R2");
    else if (isset($_POST['ON3']))
        exec("usb2r.exe RA");
    else if (isset($_POST['OFF1']))
          exec("usb2r.exe r1");
      else if (isset($_POST['OFF2']))
        exec("usb2r.exe r2");
    else if (isset($_POST['OFF3']))
        exec("usb2r.exe rA");
?>

Untuk menguji skrip di atas, kami menggunakan webserver mini Mongoose versi 3.6. Anda bisa menggunakan Apache, IIS, atau yang lain.
Pada eksperimen ini, program webserver Mongoose terletak pada direktori C:\USB2RELPHP. Adapun skripUSB2REL.PHP dan program USB2R.EXE terletak pada direktori C:\USB2RELPHP\WEB_ROOT.
Berikut adalah setting program Mongoose agar USB2REL.PHP dapat diakses oleh browser.
image
Dan untuk pengujian lebih lanjut, maka dilakukan pengaksesan halaman web USB2REL.PHP dari komputer lain yang terhubung dalam satu jaringan. Komputer yang digunakan adalah IBM Server Netfinity P-2 333MHz dengan sistem operasi Windows 98. Berikut adalah screenshot-nya.
usb2rel_php_win98_600
Dari hasil eksperimen ini, dapat disimpulkan bahwa penggunaan fungsi exec() pada PHP untuk mengeksekusi program USB2R.EXE cukup efektif untuk aplikasi pengontrolan modul USB-2REL melalui web/internet.
Demikian sekilas tentang aplikasi pengontrolan modul USB-2REL melalui web/internet. Jika Anda berminat dengan produk USB-2REL atau produk yang lain, silakan mengunjungi situs kami di: http://teknikelektrolinks.com.
Semoga bermanfaat. Selamat belajar dan selamat berkarya!
:)

Pengontrolan LED Via Port USB Tanpa Konverter USB/RS232

Rabu, 15 April 2015

Pengontrolan LED Via Port USB Tanpa Konverter USB/RS232 

Nama : Mohammad Apryan Suhendra
kelas  : 2CB
Nim    : 061430700539
Mata Kuliah : Interface Komputer
Dosen : Ali Firdaus S.kom.M.kom

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 diwww.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 dihttp://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;
}
sss

Untuk mengontrol LED melalui PC diperlukan sebuah antarmuka yang pada eksperimen ini menggunakan bahasa C. Kompiler yang digunakan yakni Pelles C. Berikut adalah gambar dari program USB LED Control


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.

Membuat USB Downloader untuk Mikrokontroler AVR Atmega8/16/32/8535

Rabu, 08 April 2015

Nama : Mohammad Apryan Suhendra
NIM : 061430700539
Kelas : 2CB
Mata Kuliah : Interface Komputer



Membuat USB Downloader untuk Mikrokontroler AVR Atmega8/16/32/8535 

 Setelah pada  postingan sebelumnya yaitu membuat sendiri downloader AVR atmega8/16/32/8535, sekarang saatnya kita membuat downloader yang menggunakan USB. Downloader yang menggunakan port paralel ( yang pinnya 25 buah) memang hanya membutuhan sedikit biaya, namun sekarang kebanyakan orang sudah beralih ke laptop dimana port paralel sudah sudah jarang ditemui lagi kecuali untuk laptop versi lama , bahkan
ada beberapa komputer pc yang saya temui sudah tidak port paralelnya lagi. Alternatifnya yaitu menggunakan port serial (port yang jumlah pinnya 9, sering disebut db9) atau menggunakan port USB. Port serial pun saya rasa juga sudah mulai jarang ada pada laptop-laptop terbaru, maka langsung aja kita membuat downloader menggunakan port yang universal yaitu port USB. USB downloader dibuat dengan komponen utama yaitu atmega8,Sebelumnya membuatnya sediakan berikut ini:
Software:

  • Deeptrace ( untuk membuat pcb atau kalau malas buat pcb pake pcb bolong)
  • PonyProg ( untuk mendownload program)
  • Downloader yang menggunakan port paralel
  • Download Drivernya disini
Komponen elektronik
  1. AVR atmega8
  2. kristal 12 MHz
  3. kapasitor 22pF
  4. konektor USB dan kabel USB
  5. soket IC 14pin 2 buah
  6. resistor 10k, 68ohm atau 100 ohm, 2k2, 1K
  7. elko 10 uF/16 V dan kapasitor 100nF
  8. LED 3 buah
  9. housing 5 pin dan 4 pin
  10. Dioda zener 3.6 volt 2 buah
Rangkai komponen diatas sesuai rangkain berikut ini: 
rangkaian di pcbnya:


C1, C2       =  22pF         
C3              = 10µF           
C4              = 100nF        
D1, D2       =  Z-Diode 3V9            
IC1             =  ATMEGA8                         
LED1          =  LED                
LED2          =  LED               
Q1              = 12Mhz    
R1, R2        = 68 Ohm        
R3              = 2,2 kOhm         
R4, R5        = 470 Ohm           
R6              = 10 kOhm              
R7              = 1 kOhm                      
X1              = USB      

Rangkai komponen elektronik sessuai rangkaian diatas, setelah selesai program terlebih dahulu Atmega8 dengan program yang  didownload disini,  menggunakan downloader paralell. Karena menggunakan kristal 12 Mhz ganti setinga fuse bit Atmega8nya seperti berikut:


Jika men-downloadnya sudah, pasangkan ATMEGA 8 ke soket, kemudian masukan tancapkan kabel usb ke komputer. Jika benar akan muncul tampilan seperti ini.
Sebentar lagi akan minta driver, next next next aja, kemudian pilih folder tempat win-driver berada.


Kemudian tinggal menunggu finish.Jika sudah finish, lepas kembali kabel usbnya,sesudah itu, masukan kembali kabel usb. Ketika dimasukan akan ada suara, seperti suara ketika kita memasukkan flash disk. Lihat led, led ada yang hidup (led power) dan ada yang mati (led untuk tanda busy).Sekarang USB downloader sudah jadi langka selanjutnya kita memerlukan software untuk menggunakan downloader ini, salah satu yang bisa digunakan yaitu Khazama, khazama saya pilih karena software ini memiliki ukuran yang kecil, dan kecepatan ketika memprogram mikrokontroler lebih tinggi daripada software yang lain seperti extreme burner avr, ataupun avrdude. Anda pun bisa menggunakan semua software tersebut untuk downloader USB ini. Untuk mendownload Khazama klik disini. Berikut Tampilan khazama




Menurut pengalaman saya mikrokontroler yang akan kita program menggunakan downloader USB ini harus menggunakan kristal external (misalnya kristal 12 Mhz) dan fuse bitnya diatur agar mikrokontroler mengunakan external clock (pengaturannya sama seperti diatas tadi). Ketika saya coba tanpa memkai kristal, USB downloader ini ternyata tidak bisa dipakai. Sedangkan untuk pengaturan fuse bit ini dilakukan dengan menggunakan downloader paralel menggunakan software ponyprog. 

Cara menggunakannya:
  • Hubungkan USB downloader yang kita buat tadi kekomputer
  • Hubungkan downloader dengan mikrokontroler
  • Buka khazama, pilih file, klik load flash file to buffer, 
  • pilih file hex yang akan diisikan ke mikro, 
  • setelah itu klik command dan pilih write flash buffer to chip, jika berhasil akan muncul seperti ini:


Jika mikrokontroler yang akan didownload menggunakan usb downloader ini tanpa memakai kristal, terlebih dahulu ubah setingan fuse bit pada mikrokontroler target dengan setingan fuse bit seperti dibawah ini


Selamat Berkreasi .....

Followers

Blog Archive

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Mohammad Apryan Suhendra - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger