VB Lesson: Serial Port


Serial Port membolehkan software di dalam komputer berhubung dengan hardware lain di luar. Misalnya menghubungkan Visual Basic dengan hardware PIC.

Melalui serial port, Visual Basic boleh mengawal alatan lain ataupun memaparkan bacaan daripada alatan lain. Software Visual Basic boleh menghasilkan sistem SCADA (Supervisory Control And Data Acquisition).

Berikut adalah videonya.

PIC Source Code

Sertai Telegram Group bagi dapatkan source code

VB Source Code

Sertai Telegram Group bagi dapatkan source code


56 responses to “VB Lesson: Serial Port”

  1. Assalamualaikum,

    Saya menggunakan SC16A servo controller yang dibeli dari CYTRON. Saya ingin mengawal pergerakkan 2 servo motor dengan menggunakan Visual Basic 6. Masalahnya VB source code yang dibekalkan oleh Cytron dalam website tidak dapat dibuka. Bolehkah saudara memberi satu source code yang dapat mengawal pergerakkan dan kelajuan motor tersebut.

  2. salam shahrul, sy nak tanya le… boleh k sy hantar perkataan melalui VB dan diaplay kat LCD kat PIC board…

  3. Salam, nape En.Shahrul
    1) Mcm mane Nak kira Baud Rate (9600)
    2) Ne function untuk ape
    //
    void convert(unsigned int no, char base)
    {char i;
    for(i=0;i<=9;i++) di[i]=0;
    i=0;
    do{
    di[i]=no%base;
    no=no/base;
    i=i+1;}
    while(no!=0);
    }
    // adakah untuk convert character ASCII kpd nombor Base 10???

    3) Adakah ini function untuk gerakkan SERVO je, dia x de kaitan dgn UART punya programming
    static void interrupt isr(void)
    {
    if(RCIF==1){
    if(RCREG=='S') z=0;
    vb[z]=RCREG;
    if(z<19) z++;}
    if(TMR0IF==1){
    TMR0IF=0;
    if(counter[0]<PULSE) counter[0]++;
    else{
    counter[0]=0;
    send=1;}
    counter[1]++;
    if(counter[1]==position) SERVO=0;
    if(counter[1]==390){
    counter[1]=0;
    SERVO=1;}
    }
    }

    • ws, Khairul.
      1) Baud Rate tak perlu kira. Saya dah buat function untuk kira Baud Rate. Nak pengiraan baudrate detail, rujuk dalam datasheet.
      2) Function tu untuk tukarkan nombor integer kepada single digit. Lebih lanjut, rujuk ADC Lesson cara untuk display nombor.
      3) Function servo dgn function uart tidak berkaitan. Program asas servo, rujuk Servo Lesson.

  4. salam, saya ada buat satu project berkaitan uart.input sy setkan pada port D dan output port B.pic akan on LED dan hantar signal ke PC jika suis port D dihidupkan.Masalah saya, terdapat gangguan pada port B bila uart hantar signal

  5. salam…adakah VB 2010 boleh digunakan untuk menunjukkan Real time graph?
    bermaksud data dari pada PIC(menggunakan potentiometer/sensor) di ambil dan pada masa yg sama graph di plotkan di VB…TQ

  6. ok..TQ..tp kalau sy nak gunakan pic 18F4550 usb adakah saya perlu mengubah apa2 dalam programming VB2010 dan microchip?

  7. salam..

    saya nak minta pendapat berkenaan projek saya..
    konsep projek saya hampir sama dengan projek “wireless vb automation” dari youtube :
    http://www.youtube.com/watch?v=49HBaLm-Duw

    ciri2 litar :
    PIC16F877A
    crystal 20MHz
    baud rate 9600

    masalah projek :
    -bila data/karekter tertentu dihantar melalui wire dari VB ke PIC, LED menyala ikut jenis karekter yang dihantar..
    -tetapi bile karekter dihantar melalui tanpa wire (wireless/Tx Rx), LED tidak menyala langsung..

    soalan :
    1. transmiter disambung terus ke tx MAX232 tanpa dip switch dan komponen lain,adakah betul?
    2. receiver disambung terus ke rx PIC tanpa dip switch dan komponen lain,adakah betul?
    3. adakah block diagram litar betul?:
    PC —> MAX232 –> Tx Rx –> PIC –> LED

  8. (sambungan soalan)

    projek saya sbnrnya komunikasi antara PC dan PIC bknnya antara 2 PIC..
    jadi saya sambung Tx ke PC dan Rx ke PIC..
    masalahnya litar x berfungsi..
    mintak pendapat..

  9. permintaan kalau xkeberatan:
    1.boleh x tunjuk contoh smbungan litar komunikasi antara PC dan PIC mgunakan Tx & Rx module..(mgkin litar saya salah)
    2.buat tutorial ‘wireless PC to PIC communication’..kita dapat sama2 belajar,heheh..

  10. hi,
    saya sudah buat satu program di VB dimana maklumat dimasukkan dan di simpan dalam database menggunakan microsoft access…
    saya nak hantar maklumat dalam database itu melalui max232 ke PIC16F877 dan displaykan maklumat itu di LCD display. apakah yang perlu dilakukan dalam VB atau PIC itu membolehkan ini berlaku?? terima kasih

  11. salam en shahrul. sy nak tnye mcm ne plak nak connect kan gsm deng program yang kite dah buat dlm VB ye..kalo boleh sy perlukan jawapan secepat mungkin kerana saya perlukan sebelum hari rabu..22/2/2012.

    terima kasih.

    • ws, nurul. Kalau GSM Modem tu RS232, cara sambung
      1. GSM Modem >> MAX232 >> USB-to-UART
      2. GSM Modem >> USB-to-RS232
      Atau, boleh guna GSM Modem yg guna USB.

  12. maaf encik shahrul sy mmg guna gsm wavecom n sambung ke usb..tapi still xnmpak jalan. saya perlu guna seperti lesson nie pnya coding ke?

  13. hihi shahrul ~~~~~i saw your programming code about mplab that one ~~~ may i ask content of

    LibraryUART.h and LibraryADC.h~~~~~ this two library file i couldnt find in hi-tech compiler ~~~~where i can find it this two library ???could u reply me thankq ^^

  14. hi sharul thankq for your information ~~~so those header is not from the hi-tech compiler libraries?

    but is your own created library???

  15. salam… nak tny, kalau utk buat vb(input) —>> arduino xbee (output) utk bce data yg diletakkan dalam vb, kena buat serial port mcm ni jgak ke?? boleh bg info??

  16. Salam, saya ada dua soalan:

    1) untuk function “uart_number(adc,10,4)”, en. cuba send value adc ke vb kan? so, character
    10 dgn 4 tu untuk apa?

    2) function ni kira apa? kenapa kena tolak 48?

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    SerialPort1.Write(“S” & HScrollBar1.Value & “.”)
    If SerialPort1.BytesToRead = 4 Then
    j = 0
    For Me.i = 1 To 4
    Rx(j) = SerialPort1.ReadByte
    j = j + 1
    Next
    End If

    ADC = Val((Rx(0) – 48) & (Rx(1) – 48) & (Rx(2) – 48) & (Rx(3) – 48))
    If ADC >= 0 And ADC <= 1023 Then
    HScrollBar2.Value = ADC
    Label2.Text = HScrollBar2.Value
    End If
    End Sub

    Terima Kasih 🙂

    • W/salam, Nor.
      1) 10 tu untuk nombor decimal, 4 tu untuk bilangan digit
      2) Tolak 48 untuk tukar nombor ASCII kpd integer. Nombor 0 bersamaan 0x30 (48) ASCII.

  17. How much does it cost?
    WHat about other codes you have, for example dht11, current sensor??
    I would like to have a price list if possible. Have a project which implements many stuff from your web site.

    • w/salam, Akmal. Library bergantung kpd coding, kalau coding semua dlm main file tak perlu declare library. Kalau ada function dlm file library, kena declare library.

  18. salam.. sy ad sikit maslah, kalo tak keberatan, sy nk minta tunjuk ajar saudara utk memberi sedikit input or info cmne sy nk link kan rfid sy dgn vb especially vb.net..dgn ayat yg lebeh jelas,

    sy membuat satu projek yg mana melibatkan database, masalah sy, sy tdak tahu bagaimana nk hubungkan rfid sy dgn database sy.

    harap encik/saudara/bos boleh membantu sy yg memerlukan ini,, terima kasih

Leave a Reply to Dejan Cancel reply

Your email address will not be published. Required fields are marked *