KONEKSI VISUAL BASIC DENGAN ARDUINO

MENYALAKAN LED ARDUINO DENGAN VB6


Hello gaes, senang dapat berbagi info. Kali ini saya ingin berbagi trik pemrograman yang terkait dengan sistem pengendalian menggunakan hardware kontrol yang saat ini masih populer yaitu Arduino. Sederhana saja, saya ingin menyalakan led menlalui button yang ada pada program visual basic. Program visual basic yang akan saya pakai dalah visual basic 6.0. Mumpung saya lagi ada project tentang ini juga jadi saya tulis artikel ini yang mungkin bisa jadi referensi kalian yang sedang atau ingin membuat project yang mirip. Langsung saja gaes kita bahas satu per satu.

Pertama kita bicara tentang arduino gaes. Arduino merupakan hardware kontrol yang didalamnya tertanam IC mikrokontroler ATMEL. Salah satunya yang saat ini saya pakai yaitu Arduino UNO dengan IC ATMega128. Untuk mempelajari dasar memprogram Arduino bisa dilihat di artikel saya sebelumnya. Board Arduino UNO sudah dilengkapi dengan rangkaian untuk komunikasi dengan komputer baik untuk download program maupun komunikasi dengan program compailer lain yang salah satunya vb6 yang akan kita pakai. Jadi g perlu rangkaian interface lain ya. 



PROGRAM ARDUINO

Langkah pertama membuat program arduino yaitu kita setting speed data yang kita gunakan dalam bits/second (baud) untuk keperluan transfer data. Nilai ini harus sama antara PC dengan setingan pada Arduino. Pada program ini kita pakai nilai baud rate 9600. Pada program kita tulis dengan instruksi :

Serial.begin(9600); 

Setelah itu kita setting pin I/O yang digunakan. Saya gunakan PIN13 untuk simulasi nyala led karena pada board Arduino UNO sudah disediakan lednya. Setting PIN13 sebagai output. 

pinMode(13,OUTPUT); 

Disini saya gunakan satu. variabel. variabel senidri disini didefinisikan sebagai tempat/wadah yang berisi data-data dengan tipe data tertentu. Saya menggunakan variabel dengan nama variabel data dengan data yang bertipe char.  Karena itu harus dideklarasikan pada program dengan instruksi :

char data_serial;

Pada program utama pertama kita lakukan pengambilan data yang dikirim dari PC. Karena data yang kita terima berubah-ubah maka untuk lebih enaknya saya masukan ke variabel yang sudah dibuat tadi. instriksi program yang digunakan sebagai berikut :

data_serial = Serial.read();

Disamping mengambil data yang dikirim dari PC kita juga mengirim data ke PC yang nantinya diambil oleh program vb sebagai indikator led menyala. Program Arduino untuk mengirim data serial ke PC yaitu :

Serial.write('data');

Dengan data yang kita terima dari PC itulah yang akan digunakan sebagai parameter dalam rangka menyalakan dam mematikan led pada PIN13. Program yang digunakan bisa bermacam-macam seperti instruksi if atau if ....else atau switch .... case dan lain-lain tergantung dari programer. Disini saya contohkan menggunakan instruksi if. Berikut program lengkapnya :



void setup() {

    Serial.begin(9600); //setting baud rate dengan nilai 9600 
    pinMode(13,OUTPUT); //setting pin 13 sebagai output digital
    
    }

char data_serial; //mendeklarasikan variabel data_serial

void loop() {
  
    data_serial = Serial.read(); // mengambil data serial dan memasukannya pada variabel data_serial
    
    if (data_serial == 'M') //jika nilai variabel data_serial = M
       { 
       digitalWrite(13,HIGH); //led menyala
       Serial.write('A');}; //mengirim data bernilai A ke PC

    if (data_serial == 'N') //jika nilai variabel data_serial = M
       {
       digitalWrite(13,LOW); //led mati
       Serial.write('B');}; //mengirim data bernilai B ke PC   
}



PROGRAM VB

Visual basic merupakan salah satu software compailer yang digunakan untuk membuat aplikasi berbasis dekstop. Vb dapat membuat program aplikasi dengan database baik database pribadi yang dimiliki vb maupun aplikasi database eksternal lain seperti MS Access, MySQL dan lain-lain. Berikut tampilan dari software compiler vb :





Jika ingin membuat program dengan komunikasi dengan hardware kontrol maka harus menggunakan komponen MSComm. Komponen ini dapat mengambilnya dari library komponen  yang bernama Microsoft common control 6.0. Komponen ini berfungsi sebagai penghubung antara aplikasi visual basic dengan Arduino dalam keperluan transfer data. Tanpa komponen ini vb tidak dapat terkoneksi ke arduino. Pada propertis komponen  MSComm  harus disetting parameter baud rate sesuai dengan settingan pada Arduino agar dapat berkomunikasi/transfer data dengan baik. Sebagai contoh buat tampilan program vb seperti ini :


Catatan : Kebetulan saya tergabung di Akademi Komunitas Negeri Kajen sehingga saya gunakan lambang AKN Kajen.


Pertama kita buat program koneksi pada botton CONNECT sehingga vb dapat berkomunikasi dengan arduino. Disini kita juga setting parameter-parameter yang harus sama dan sesuai dengan parameter-parameter setting pada Arduino. Perhatikan program berikut :

On Error Resume Next
Dim i As Integer
For i = 1 To 100
   MSComm1.CommPort = i  'memberikan nilai pada variabel i sebagai PortComm number
   MSComm1.PortOpen = True 'buka koneksi

   If MSComm1.PortOpen Then 'jika koneksi terbuka/tersambung           
      NoPort = i           'masukan nilai variabel i pada NoPort
      MSComm1.CommPort = NoPort 'setting nilai variabel i sebagai NoPort pada MSComm
      MSComm1.Settings = "9600,N,8,1" ' baud=9600 , Even parity, data=7, dan stop bit=
      MSComm1.PortOpen = True   'setting Port pada PSComm1 terbuka
      MSComm1.DTREnable = True
      MSComm1.RTSEnable = True
      MSComm1.RThreshold = 1
      MSComm1.InputLen = 1
  Else
  End If
Next

Sedangkan untuk menyalakan dan mematikan Led dilakukan dengan mengirimkan data ke Arduino. Untuk memastikan kalau led menyala atau mati juga dari data yang dikirim oleh Arduino. Program mengirim data ke Arduino menggunakan instruksi program MSComm1.Output sedangkan program mengambil data dari Arduino menggunakan instruksi MSComm1.Input. Penempatan logika program tergantung dari logika programer. Kalau disini program kirim data saya masukan pe button ON sedangkan program pengambil data saya masukan ketika change text1. Perhatikan kode program dibawah ini :

Program saat Botton ON ditekan :

If Command7.Caption = "ON" Then  'saat caption command = ON maka
    MSComm1.Output = "M"         'kirim data M ke Arduino
    Command7.Caption = "OFF"     'rubah caption command = OFF  
Else                             'selain saat caption command = ON maka
    MSComm1.Output = "N"         'kirim data N ke Arduino
    Command7.Caption = "ON"      'rubah caption command = ON 
End If


Program pada Change Text1 :

If Text1.Text = "A" Then         'saat text pada text1 = A maka
    Shape2.FillColor = vbGreen   'rubah warna Shape menjadi hijau
Else                             'selain saat text pada text1 = A maka
    Shape2.FillColor = vbRed     'rubah warna Shape menjadi merah
End If


Program pada MSComm :

Text1.Text = MSComm1.Input   'mengambil data yang dikirim dari arduino dan memasukan pada text di text1

Pembuatan program membutuhkan kemampuan berfikir kreatif dan logika yang baik. Selamat mencoba. Terima kasih

Silahkan Di Share agar bermanfaat.

Program VB lengkap silahkan lihat dibawah ini :

PROGRAM VB

Private Sub Command6_Click()
If MSComm1.PortOpen = False Then
    '***********************
    'Scaning Port
    '*************************
         
    On Error Resume Next

    Dim i As Integer

    For i = 1 To 100
        MSComm1.CommPort = i
        MSComm1.PortOpen = True

        If MSComm1.PortOpen Then
         
            NoPort = i
            MSComm1.CommPort = NoPort 'Port ARDUINO
            ' 9600 baud, Even parity, 7 data, and 2 stop bit.
            MSComm1.Settings = "9600,N,8,1"
            MSComm1.PortOpen = True
            MSComm1.DTREnable = True
            MSComm1.RTSEnable = True
            MSComm1.RThreshold = 1
            MSComm1.InputLen = 1
        Else
        End If
    Next
 
    Command6.Caption = "DISCONNECT"
    Shape1.FillColor = vbGreen
    Command7.Enabled = True
 
    Shape2.FillColor = vbRed
    Text1.Text = "OFF"
    Command7.Caption = "ON"
Else
    MSComm1.PortOpen = False
    MSComm1.DTREnable = False
    MSComm1.RTSEnable = False
    MSComm1.RThreshold = 1
    MSComm1.InputLen = 1
    Command6.Caption = "CONNECT"
    Shape1.FillColor = vbRed
    Command7.Enabled = False
 
End If
End Sub

Private Sub Command7_Click()
If Command7.Caption = "ON" Then
    MSComm1.Output = "M"
    Command7.Caption = "OFF"
Else
    MSComm1.Output = "N"
    Command7.Caption = "ON"
End If
 
End Sub

Private Sub Form_Load()
Shape1.FillColor = vbRed
Shape2.FillColor = vbRed
Text1.Text = "OFF"
Text1.Enabled = False

End Sub

Private Sub MSComm1_OnComm()
Text1.Text = MSComm1.Input
End Sub

Private Sub Text1_Change()

If Text1.Text = "A" Then
    Shape2.FillColor = vbGreen
Else
    Shape2.FillColor = vbRed
End If
End Sub

Berlangganan update artikel terbaru via email:

35 Responses to "KONEKSI VISUAL BASIC DENGAN ARDUINO"

  1. Selamat malam pak. Thks buat sharenya. Ada link video tutorialnya nggak di Youtube pak. Mungkin bisa boleh saya ikut belajar dan subscribe jg. Trms

    ReplyDelete
  2. Tulis alamat email saya kirim program lengkap.

    ReplyDelete
  3. Syaifudin43@ymail.com

    Tolonh di krim program arduino dan vb nya ke emaip sya pak .

    ReplyDelete
  4. nanya donk, untuk port supaya otomatis bagaimana ya

    ReplyDelete
    Replies
    1. '***********************
      'Scaning Port
      '*************************

      On Error Resume Next

      Dim i As Integer

      For i = 1 To 100
      MSComm1.CommPort = i
      MSComm1.PortOpen = True

      If MSComm1.PortOpen Then

      NoPort = i
      MSComm1.CommPort = NoPort 'Port ARDUINO
      ' 9600 baud, Even parity, 7 data, and 2 stop bit.
      MSComm1.Settings = "9600,N,8,1"
      MSComm1.PortOpen = True
      MSComm1.DTREnable = True
      MSComm1.RTSEnable = True
      MSComm1.RThreshold = 1
      MSComm1.SThreshold = 0

      Else
      End If
      Next

      Delete
  5. Maaf gan boleh minta programnya?
    triyono230711@gmail.com

    ReplyDelete
  6. Gan boleh minta ga? Ane kebingungan
    Zacky.ascar@gmail.com

    ReplyDelete
  7. Gan boleh dikirim ga? Ane kebingungan soalnya
    Zacky.ascar@gmail.com

    ReplyDelete
  8. boleh minta programnya gan ? buat belajar
    danangadidarma99@gmail.com

    ReplyDelete
  9. Gan. Mau tanya. Untuk program tsb. Apakah bisa dimodifikasi untuk mengedit dan mengeksekusi perintah input text berupa alamat ip address. Sehingga aplikasi VB mengirimkan ip address ke sketch arduino dan bisa compile. Jd tidak perlu lg melakukan edit sketch di program arduino IDE. Terimakasih. Mohon bantuan

    ReplyDelete
  10. Mas maaf boleh minta programnya,saya lagi belajar2 buat tugas
    elmaralvin51@gmail.com

    ReplyDelete
  11. Mas boleh minta programnya? Saya pengen belajar
    elmaralvin51@gmail.com

    ReplyDelete
  12. boleh minta programnya mas, buat belajar?
    gifankaabdulgany@gmail.com

    ReplyDelete
  13. Saya mau buat jika tombol (hardware) dipencet maka akan melakukan perintah button click yg sdh ada d aplikasi.. bagaimana caranya??

    ReplyDelete
    Replies
    1. bisa gan tinggal pada program arduino dikirimkan data kondisi button ke VB. ketika berlogika 0 atau terpencet maka VB tahu ada perubahan data yang memerintahkan program VB mengeksekusi program yang sama dengan button click

      Delete
  14. sudah saya kirim ke email ya agan2 yang minta program

    ReplyDelete
    Replies
    1. kak, boleh pemogramannya dikirim juga kesaya email rasmita270599@gmail.com. makasih banyak kak

      Delete
  15. Assalamualaikum mas, boleh minta programnya untuk referensi tugas saya ? trimakasih
    send : devandrisuheman39@gmail.com

    ReplyDelete
    Replies
    1. kak bisa juga dikirim ke saya kak.email rasmita270599@gmail.com. makasih kak

      Delete
  16. Selamat siang, boleh minta program dan VB untuk tugas saya ?
    Send: martin.hananta@gmail.com

    Terimakasih

    ReplyDelete
  17. Boleh minta ga gan
    Email. Triheruafsheen@gmail.com
    Trimakasih

    ReplyDelete
  18. Assalamualaikum ,salam sehat selalu ,Selamat sore pak , maaf jika menggangu waktunya , agak sedikit bingung baru belajar , boleh minta progam dan Vb nya pak , ini email saya

    mtrihartawan@gmail.com

    Mohon maaf ya pak sebelumnya , pngin buat refrensi
    Terimakasih pak

    ReplyDelete
  19. Assalamualaikum pak , maaf mengganggu waktunya , agak sedikit kebingungan dalam pengaplikasiannya karna baru belajar ,maaf pak apakahboleh jika saya minta progam dan VBnya ,untuk refrensi pembelajaran , maaf yaa pak sebelumnya

    mtrihartawan@gmail.com

    ReplyDelete
  20. Sudah saya kirim email semua. terima kasih

    ReplyDelete
  21. Mmaf Pak bisa minta programnya
    valentinuschrysan1611@gmail.com
    Trimakasih Sebelumnya.

    ReplyDelete
  22. Hallo kak, boleh kak saya minta programnya kak? Emailnya tiaramartika25@gmail.com , terimakasih sebelumnya ya kak

    ReplyDelete
  23. Halo mas. Kalo untuk connect ke arduino lebih enak pake visual basic apa visual studio yahh??

    ReplyDelete

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel