LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview sebagai Kontrol LED pada PIC18F4550 dengan Interface USB

Salam kenal,

Saya memiliki device berupa PIC18F4550. Sebagai latihan komunikasi melalui USB, saya mencoba untuk menyalakan LED sebagai latihan. Untuk program yang ditanam dalam PIC sudah ada, dimana saya mendapatkannya dari tutorial-tutorial USB. Sedangkan untuk program pada PC sebagai pengontrol PIC, saya ingin menggunakan LabVIEW. Pada find examples software LabVIEW, saya melihat ada 3 contoh program dasar untuk komunikasi USB dan saya ingin menggunakan yang USB RAW - Bulk.vi sebagai program komunikasinya. Program ini juga saya temukan pada link "http://zone.ni.com/devzone/cda/epd/p/id/3622". Tetapi saya kebingungan dalam memanfaatkan program USB RAW tersebut untuk memberikan perintah ke PIC untuk menyelakan LED.

Ini adalah rangkaian PIC yang saya gunakan:

USB_demo_board_diag_1920by1080.jpg

yang saya ingin lakukan adalah mengontrol LED3 dengan mengirimkan perintah dari LabVIEW untuk dapat meng-on dan off-kan LED3 tersebut.

Poin-poin dalam Program utama yang ditulis dalam bahasa C yang ditanam dalam PIC untuk mengontrol LED3 tersebut adalah:

#define LED3 PORTBbits.RB3

#define TURN_LED3_OFF        0x80     // use with g_fromHostToDeviceBuffer[1]

#define TURN_LED3_ON          0x81

#pragma udata USB_VARS

BYTE g_fromHostToDeviceBuffer[65]; // Out Buffer

BYTE g_fromDeviceToHostBuffer[65]; // In Buffer

#pragma udata                    // end of #pragma udata USB_VARS

if(g_buffDescTable[2].STAT.UOWN == 0) {          // verify USB circuitry does not own from host USB buffer

     transferFromHostToDeviceViaEP1((BYTE*)&g_fromHostToDeviceBuffer[1], 64);     // get packet from host

     if(g_fromHostToDeviceBuffer[1] == TURN_LED3_ON) {     // if received 0x80

               LED3 = 1;     // turn LED3 on

     } else if(g_fromHostToDeviceBuffer[1] == TURN_LED3_OFF) {     // else if received 0x81

          LED3 = 0;     // turn LED3 off

     } else {

          // should never get here

     }

if(g_fromHostToDeviceBuffer[2] == USE_DEBUG_LEDS) {     // if check box indicating to show drop down combo box value on LEDs is checked

          showByteOnLEDs(g_fromHostToDeviceBuffer[3]);    // then show value from combo box on debug LEDs

Sedangkan program LabVIEW yang ingin saya gunakan adalah:

Untitled.jpg

Apabila saya ingin mengembangkan progran LabVIEW ini untuk mengontrol LED3 pada PIC tersebut, bagaimanakah caranya??

Jika program LabVIEW tersebut tidak bisa atau sulit, adakah program lain yang bisa saya gunakan??

Mohon bantuan dan bimbingannya...

Terimakasih Banyak...

Hormat saya,

Vani

Download All
0 Kudos
Message 1 of 5
(6,031 Views)

menarik.

- itu image nya tidak bisa kebuka mas. Mohon re upload.

- dari PIC nya menjadi USB, pakai IC apa? Ada datasheetnya? Koneksi seperti apa?

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 2 of 5
(4,059 Views)

Oke, saya attach Pak gambar rangkaiannya dan juga datasheetnya PIC18F4550... Untuk gambar programnya ada attach file sebelumnya.

Untuk koneksi USB, saya tidak menggunakan IC sebagai konversinya karena sudah tersedia pin untuk interface USB pada PIC18F4550. Jadi koneksinya langsung dari pin D+ dan D- pada PIC18F4550 terhubung ke konektor USB Labtop Pak. Bagaimana solusinya menurut Pak Krisna? Mohon bimbingannya.

Terimakasih

Vani

Download All
0 Kudos
Message 3 of 5
(4,059 Views)

Halo Rachmad,

Saya bukan expert di USB ya karena saya juga belum pernah interface dengan USB pakai Bulk USB Raw. Setelah saya cek, yang paka LabVIEW langsung belum ada contohnya, tapi ini ada yang pakai CVI (ini versi Cnya LabVIEW), berikut ini diskusinya:

http://forums.ni.com/t5/LabWindows-CVI/Control-PIC18F4550-via-USB-with-LabWindows-CVI/m-p/694804?req...

Disitu ada contoh:

- program PIC nya

- program CVI nya. Untuk CVInya, bisa di convert ke dalam LabVIEW kok, saya kasih salah satu contohnya ya:

     CVI:       viSetBuf (instr, VI_WRITE_BUF, 64);

visa set buf.png

     LabVIEW:

visa find resource.png

Kalau sudah ada contoh jalan, ya tinggal dicoba aja contoh itu, kalau sudah sukses baru dioprek2 sesuai kebutuhan anda. Semoga membantu dan kabari tim disini.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
Message 4 of 5
(4,059 Views)

Oke Pak Krisna.

Terimakasih bantuannya.

Akan saya coba dan pelajari dulu,, nanti hasilnya saya kabari.

Vani

0 Kudos
Message 5 of 5
(4,059 Views)