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=2
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
Selamat malam pak. Thks buat sharenya. Ada link video tutorialnya nggak di Youtube pak. Mungkin bisa boleh saya ikut belajar dan subscribe jg. Trms
ReplyDeletemaaf g ada gan
DeleteTulis alamat email saya kirim program lengkap.
ReplyDeleteSyaifudin43@ymail.com
ReplyDeleteTolonh di krim program arduino dan vb nya ke emaip sya pak .
nanya donk, untuk port supaya otomatis bagaimana ya
ReplyDelete'***********************
Delete'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
Maaf baru balas
ReplyDeleteMaaf gan boleh minta programnya?
ReplyDeletetriyono230711@gmail.com
ok gan
DeleteGan boleh minta ga? Ane kebingungan
ReplyDeleteZacky.ascar@gmail.com
Gan boleh dikirim ga? Ane kebingungan soalnya
ReplyDeleteZacky.ascar@gmail.com
sudah gan
Deleteboleh minta programnya gan ? buat belajar
ReplyDeletedanangadidarma99@gmail.com
ok gan
Deleteboleh minta programnya mas, buat belajar?
Deletegifankaabdulgany@gmail.com
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
ReplyDeleteMas maaf boleh minta programnya,saya lagi belajar2 buat tugas
ReplyDeleteelmaralvin51@gmail.com
Mas boleh minta programnya? Saya pengen belajar
ReplyDeleteelmaralvin51@gmail.com
boleh minta programnya mas, buat belajar?
ReplyDeletegifankaabdulgany@gmail.com
Saya mau buat jika tombol (hardware) dipencet maka akan melakukan perintah button click yg sdh ada d aplikasi.. bagaimana caranya??
ReplyDeletebisa 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
Deletesudah saya kirim ke email ya agan2 yang minta program
ReplyDeletekak, boleh pemogramannya dikirim juga kesaya email rasmita270599@gmail.com. makasih banyak kak
DeleteAssalamualaikum mas, boleh minta programnya untuk referensi tugas saya ? trimakasih
ReplyDeletesend : devandrisuheman39@gmail.com
sudah saya kirim mas
Deletekak bisa juga dikirim ke saya kak.email rasmita270599@gmail.com. makasih kak
DeleteSelamat siang, boleh minta program dan VB untuk tugas saya ?
ReplyDeleteSend: martin.hananta@gmail.com
Terimakasih
Boleh minta ga gan
ReplyDeleteEmail. Triheruafsheen@gmail.com
Trimakasih
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
ReplyDeletemtrihartawan@gmail.com
Mohon maaf ya pak sebelumnya , pngin buat refrensi
Terimakasih pak
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
ReplyDeletemtrihartawan@gmail.com
Sudah saya kirim email semua. terima kasih
ReplyDeleteMmaf Pak bisa minta programnya
ReplyDeletevalentinuschrysan1611@gmail.com
Trimakasih Sebelumnya.
Hallo kak, boleh kak saya minta programnya kak? Emailnya tiaramartika25@gmail.com , terimakasih sebelumnya ya kak
ReplyDeleteHalo mas. Kalo untuk connect ke arduino lebih enak pake visual basic apa visual studio yahh??
ReplyDeleteSama saja menurut saya mas
Delete