Komunikasi Data String dari ARDUINO ke VISUAL BASIC 6

PROGRAM KIRIM DATA STRING DARI ARDUINO DAN TERIMA DATA STRING PADA VB6


Sebelumnya saya telah membahas dan membagikan program komunikasi data atau sinyal antara arduino dengan program visual basic 6. Anda bisa lihat di postingan saya sebelumnya dengan judul dibawah ini.

Bagaimana..., apakah menjadi referensi anda? jika belum mungkin postingan saya berikut ini dapat menjadi tambahan referensi anda yang sedang memulai belajar project berbasis arduino. Kali ini saya akan membagikan cara komunikasi data antara arduino dengan program visual basic 6 dengan data yang di transfer yaitu data dengan tipe data string alias kirim text. pada postingan saya sebelumnya saya membagikan program komunikasi data yang dikirim dari arduino ke visual basic 6 atau sebalikanya namun hanya mengirim satu karakter saja sebagai sinyal triger.

Bagaimana bila kita ingin mengirimkan data berupa text seperti contoh beberapa data suhu / posisis sudut / bahkan beberapa data yang berbeda dalam satu text. Ini dibutuhkan apabila kita bermain dengan data loger atau penyimpanan data dari hardware device ke database. Karena saya pengguna program visual basic maka di pos ini saya akan sedikit sharing.

Langsung saja ............

 Pada dasarnya saya masih mengangkat sedikit tentang postingan saya kemarin  tetapi bedanya yang dikirim berupa gabingan beberapa karakter yang membentuk kata atau kalimat. Pada dasarnya data yang dikirim dan diterima adalah data yang berupa 1 karakter. Program ini sangat sederhana dan simple karena menggunakan program dasar saja. Cara kerjanya adalah menggabungkan tiap data karakter yang diterima sampai batas tertentu sehingga data text yang dikirim lengkap diterima.

Kalau masih bingung kita langsung praktekan saja....

Pertama siapkan bahan yang dibutuhkan:
1. Arduino
2. Kabel transfer
3. Laptop sendiri tapi bila tidak ada bisa pinjam teman :)

Kalau sudah ada senua peralatan yang dibutuhkan langsung saja hubungkan arduino dengan laptop yang anda punya melalui kabel trasfer. Setelah itu buka software arduino ide dan tulis program berikut. (ingat bagi yang baru belajar ditulis ya.... bukan di copy paste :))

//Deklarasi Variabel yang DigunakanString a,b,c,d;

Kode program diatas adalah deklarasi variabel dengan type data String. Pada program ini saya menggunakan variabel dengan nama a,b,c dan d. Anda bisa menggunakan nama lain sesuai keinginan anda. Selanjutnya....

Serial.begin(9600); //membuka serial port

Tulis pada program void setup progam diatas untuk membuka serial port agar dapat melakukan komunikasi data. Jangan lupa nilai baud rate disesuaikan dengan nilai baud rate pada program vb di laptop.

b=100;
c=200;
d=300;
a=b+","+c+","+d+".";
Serial.print(a); //kirim data text via serial
delay(2000);


Tulis kode program diatas pada program void loop. Penjelasan program tersebut adalah mengisi nilai 100 pada variabel b berupa String, mengisi nilai 200 pada variabel c berupa String, mengisi nilai 300 pada variabel d berupa String. Setelah itu gabungkan nilai data String dari variabel b,c dan d dengan dibatasi tanda (,) dan diakhiri tanda (.) serta hasilnya dimasukan kedalam variabel a dengan type data String juga. Setelah itu kirim data pada variabel a via serial komunikasi ke laptop dengan kode Serial.print(a);  . Beri jeda 2 detik untuk pengiriman data selanjutnya.

Itu tadi program pada Arduino IDE. Sekarang kita buat program VB6.

Pertama ambil dan rakit komponen - komponen pada layout visual basic 6 seperti berikut :






 Simbol ini adalah simbol komponen MSComm pada visual basic 6 yang berfungsi sebagai gerbang atau komponen komunikasi data serial antara vb dengan hardeware device lain. komponen ini belum tampil ketika awal vb6 dirun. anda harus mengambil komponen dulu agar komponen ini tampil dan dapat digunakan. begini caranya:


Buka menu project dan pilih Components....


Setelah itu centang pada Microsoft Comm Control 6.0 dan klik Apply serta OK. Setelah itu akan muncul simbul MSComm pada Componen dan siap digunakan.

Private Sub Form_Load()
With MSComm1
  If .PortOpen Then .PortOpen = False  ''non aktifkan dulu serial port
  .CommPort = 3                        ''set serial port yang ingin digunakan
  .Settings = "9600,N,8,1"             ''set baud rate,parity,databits,stopbits
  .DTREnable = True                    ''set DTR And RTS
  .RTSEnable = True
  .RThreshold = 1                      ''aktifkan event oncomm event
  .SThreshold = 0                      ''non aktifkan event oncomm
  .PortOpen = True                     ''aktifkan serial port
End With                               ''MSComm1
End Sub



Pada Form_Load() ditulis program diatas. Fungsinya adalah mengatur setingan komunikasi data MSComm. yang terpenting adalah settingan baud rate,parity,databits,stopbits harus sama dengan setingan di arduino.

Private Sub MSComm1_OnComm()
Dim d As String     
Dim i As Integer
d = MSComm1.Input
Label1.Caption = Label1.Caption + d

If CBool(InStr(Label1.Caption, ".")) Then
    Text1.Text = Label1.Caption
    Label1.Caption = ""
Else
    'jika tidak ada
End If


End Sub

Pada Sub MSComm1_OnComm() ditulis kode program diatas. Pertama seting variabel d dengan tipe data String sebagai wadah penyimpan sementara data yang masuk dari komunikasi serial. Karena data yang diterima per karakter maka setiap data karakter yang masuk akan ditambahkan dengan data String yang ada pada Label1 dan diisikan kembali ke Label1  sehingga caption pada Label1 membentuk suatu kata atau kalimat. Kata yang terbentuk dibatasi dengan instruksi CBool(InStr(Label1.Caption, ".")) dengan karakter (.) sebagai batas. jika ditemukan karakter (.) maka caption pada Label1 akan dimasukan menjadi text pada Text1 dan setelah itu Label1 dikosongkan untuk membentuk kata selanjutnya yang dikirim oleh arduino. 

Silahkan program lengkapnya :

Program Lengkap

PROGRAM VB :

Private Sub Form_Load()
With MSComm1
'non aktifkan dulu serial port
If .PortOpen Then .PortOpen = False
'set serial port yang ingin digunakan
.CommPort = 3
'set baud rate,parity,databits,stopbits
.Settings = "9600,N,8,1"
'set DTR And RTS
.DTREnable = True
.RTSEnable = True
'aktifkan event oncomm event
.RThreshold = 1
'non aktifkan event oncomm
.SThreshold = 0
'aktifkan serial port
.PortOpen = True
End With 'MSComm1

'tampilkan tanda derajat
Label2.Caption = Chr(176) + “C”
End Sub

Private Sub MSComm1_OnComm()
Dim d As String
Dim i As Integer
d = MSComm1.Input
Label1.Caption = Label1.Caption + d

If CBool(InStr(Label1.Caption, ".")) Then
    Text1.Text = Label1.Caption
    Label1.Caption = ""
Else
    'jika tidak ada
End If

End Sub


PROGRAM ARDUINO IDE:

//deklarasi variabel
String a,b,c,d;

void setup()
{

}
void loop()
{

b=100;
c=200;
d=300;
a=b+","+c+","+d+".";
Serial.print(a); //kirim data via serial
delay(2000);
}



Sekian post dari saya dan semoga bermanfaat.

Berlangganan update artikel terbaru via email:

0 Response to "Komunikasi Data String dari ARDUINO ke VISUAL BASIC 6"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel