Tutorial kita kali ini adalah tentang how to interfacing Visual Basic 2010 and arduino via Serial Communication,tetapi data yg kita kirim dari VB ke arduino berbentuk char/ASCII yang kemudian diolah melainkan disimpan dulu ke dalam String kemudian diolah. Dengan memanfaatkan library Serial.readString() atau Serial.readUntil program pada arduino bisa dibuat sesimple mungkin dan seefisien mungkin.
Cara kerjanya yaitu data yang dikirim dari VB ke arduino disimpan dulu kedalam String ret,jika sudah beberapa ms tidak ada data yg dikirim maka data disimpan ke variable String message
String a;
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() {
if(Serial.available()) {
a= Serial.readString();// read the incoming data as string
Serial.println(a);
}
}
atau bisa menggunakan ini,data akan disimpan di string baca sampai bertemu karakter \n (newline)
String baca;
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() {
if(Serial.available()) {
char a=Serial.read();
if(a='\n'){
Serial.println(baca);
baca = ""; //clear buffer
}
else{
baca += a;
}
}
}
Serial.println() pada arduino berfungsi untuk mengirim data ke PC disertai dengan karakter \r (carriage return) dan \n (line feed)
Saat menghubungkan arduino ke PC,maka akan mendapatkan port COM,port COM inilah yang akan digunakan untuk komunikasi antara Visual basic dan Arduino
Berikut langkah-langkahnya
1. Buat program di VB 2010 seperti ini
Berikut Code VBnya
Imports System.IOImports System.IO.PortsImports System.ThreadingPublic Class Form1Dim myPort As Array 'COM Port yang terdeteksi pada sistem akan disimpan disiniPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadMe.Text = "Ismail Lowkey"'Cek semua com port yang memungkinkanmyPort = IO.Ports.SerialPort.GetPortNames()'Nilai Baud Rate yang bisa digunakanComboBox2.Items.Add(9600)ComboBox2.Items.Add(19200)ComboBox2.Items.Add(38400)ComboBox2.Items.Add(57600)ComboBox2.Items.Add(115200)For i = 0 To UBound(myPort)ComboBox1.Items.Add(myPort(i))Next'Atur Com Port pada Port yang pertama terdeteksiComboBox1.Text = ComboBox1.Items(0)'Atur Baud Rate pada Baud yang pertama terdeteksiComboBox2.Text = ComboBox2.Items(0)Button2.Enabled = FalseButton3.Enabled = FalseEnd Sub'tombol connectPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickSerialPort1.PortName = ComboBox1.TextSerialPort1.BaudRate = ComboBox2.TextSerialPort1.Open()Button1.Enabled = FalseButton2.Enabled = TrueButton3.Enabled = TrueEnd Sub'tombol disconnectPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickSerialPort1.Close()Button1.Enabled = TrueButton2.Enabled = FalseButton3.Enabled = FalseEnd Sub'tombol sendPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickSerialPort1.Write(TextBox1.Text)End SubEnd Class
2. Berikut code arduinonya
void setup(){Serial.begin(9600);Serial.setTimeout(50);pinMode(13,OUTPUT);}String message;void loop(){while(Serial.available()){message=Serial.readString();}if(message=="ab"){digitalWrite(13,1); }else if(message=="cd"){digitalWrite(13,0); }}
3. Hubungkan Pin 13 arduino ke LED
4. Ketik "ab" pada kotak,led 13 akan menyala,kemudian ketik "cd" pada kotak,led 13 akan mati
Good Luck
وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
saya ingin membuat absensi dengan rfid dan vb untuk menampilkan data siswa serta gambarnya, bisa minta sarannya master!
ReplyDeleteemail aja gan,ke [email protected]
Deleteemail aja gan,ke [email protected]
DeleteGan sya mw coba buat alat informasi detak jantung berbasis mikrokontroler arduino masuk databasenya melalui VB, bisa minta sarannya Master??
ReplyDeleteuntuk module yg detak jantung ane blom punyaz coba bikin dulu arduino+heartbeat sampe jadi, nnti ane bantuin untuk koneksi dengan VBnya
DeleteGan gimana kalo misalnya ane mau kirim datanya otomatis, dalam kata lain amr buat susunan data nya perbaris di notepad, terus ane mau upload datanya perbaris ke arduino nya, jd gak perlu ngetik2 terus di textbox nya, atau textbox nya ane ganti listbox? gimana ya cara bikin nya gan?
ReplyDeleteGan gimana kalo misalnya ane mau kirim datanya otomatis, dalam kata lain amr buat susunan data nya perbaris di notepad, terus ane mau upload datanya perbaris ke arduino nya, jd gak perlu ngetik2 terus di textbox nya, atau textbox nya ane ganti listbox? gimana ya cara bikin nya gan?
ReplyDeleteGan saya mau bikin timbangan bayi monitoring lewat vb gmana gan?
ReplyDeletepake arduino? bbrapa load cell ada port serialnya jadi bisa colok ke komputer. kalo mau pake arduino buat dulu programnya, baru setelah itu urusan komunikasi ke vbnya
DeleteMas, saya mau buat sistem pembatasan dalam pembelian. Nah untuk melakukan penghitungan di arduinonya, sebelumnya saya perlu mengirimkan data rtc dan rfid ke vb, kemudian data rfidnya di cocokan dengan data rfid pada database.
ReplyDeleteSelanjutnya ada beberapa data jenis barang dari database dikirimkan ke arduino melalui vb. Bagaimana ya cara mencocokkan data dari arduino dengan database dan mengirimkan data yang sudah tersimpan tersebut ke arduino?
Terima kasih sebelumnya :)
Gan saya mau menampilkan data dari arduino ke vb via internet,,gmn caranya y?
ReplyDeleteinterney atau ethernet gan?
Deletekalo mau via internet bisa pake mqtt,servernya punya orang lain yg tersedia free
Ethernet gan..rencana mau menampilkan data dari arduino+ethernet shield+vb tp msh bingung di vb nya gan..
ReplyDeleteEthernet gan..rencana mau menampilkan data dari arduino+ethernet shield+vb tp msh bingung di vb nya gan..
ReplyDeleteBang.. saya buat robot PID line follower, trus saya mau kirim nilai Error sama PIDnya ke Desktop App. kira2 datanya bisa disimpan ke database ngak bang ?
ReplyDeletepake cara ini gan http://www.ismaillowkey.net/2017/07/interfacing-receive-one-or-more-data.html?m=1
DeleteMas saya rencana mau ambil TA tentang aplikasi Sistem Parkir Berbasis RFID, tapi saya masih bingung cara pembuatan aplikasi nya dan cara mengoneksikan antara aplikasi dengan RFID nya, tolong bantu ya mas
ReplyDeletebuat dulu flowchartnya, arduino ke rfid module kan buat baca, bikin dulu biar rfid bisa baca kartu
ReplyDeletebaru sambungin ke vb .net
maaf mas .. klo bikin sofaware serial vb.net..buat seting rtc arduino gmana mas? mksih
ReplyDeletemaaf mas saya mau nampilin data sensor RGB divb dengan kata lain mempunyai 3 data (nilai R,G dan B) yang akan ditampilkan pada masing2 textbox. jadi bagaimana program di vb nya?
ReplyDeleteGan carabya buat program komunikasi dengan ethernet gimana
ReplyDeletepake telnet
DeleteGan kalo ditambah module transmitter kok gak bisa jalan ya gan, mohon pencerahanya
ReplyDeleteMas, buat mengontrol kecerahan 2 buah LED dengan make 2 trackbar/slider, kira-kira caranya gimana ya Mas?
ReplyDeletedi slidernya kasih event change value, jadi saat value slidernya berubah,langsung kirim data misal format *slider1,valueslider1# , barudeh diparsing sama arduinonya
DeletePak, jika ingin send(kirim) hex data 1 byte di code vb, dimana saya menempatkannya ? karena textbox akan saya ganti dengan receive(terima) hex data 1 byte. ty
ReplyDeleteunused local variable pada Dim my_Port As Array, bisa tolong dibantu...
ReplyDeleteSerialPort1 tidak di declarasi?
ReplyDeletegimna carany bisa digunakan? mohon pencerhannya
di toolbox nanti drag and drop serialport
DeletePak gimana cara menghubungkan timbangan digital dengan menggunakan toolbox serial port dan label pada vb.net 2010,, terimakasih
ReplyDeletehubungin pc ke timbangan dulu via r232, lalu download hyperterminal disini http://www.der-hammer.info/pages/terminal.html buat cek data yg diterima kayak gmna , tiap timbangan beda2 framenya
DeleteAssalamualaikum kak mau tanya
ReplyDeleteSaya sudah hubungkan arduino ke visual studio saya membuat apliksai menghitung dimensi panjang lebar tinggi box lalu saya save ke database. Pertanyaannya tampilan kan juga ada editnya lah saat saya mau edit pada text box inputan pertama ko gabisa diedit ya bang, padahal text box yang kedua dan seterusnya bisa, kayak gabisa diedit disable gitu
Tolong dibantu ya kak
ReplyDeleteom mau nampilin data dari timbangan dengan koneksi ip address gimana ya om
ReplyDeleteterimakasih gan untuk ilmunya, ijin mendownload yang di gdrive gan
ReplyDelete