Toturial Aplikasi VB sebagai penerima data serial
Kemungkinan besar banyak diantara kita sudah menguasai pemrograman VB untuk membuat berbagai aplikasi, tetapi pada kesempatan ini saya ingin sekali membagi sedikit yang pernah saya lakukan bersama mahasiswa saya.
Aplikasi yang akan saya perkenal ini disini adalah aplikasi penerima data serial dengan parameter jamak, yaitu jumlah parameter yang ditampilkan adalah lebih dari satu parameter, hal seperti ini sering digunakan pada aplikasi telemetri.
Mungkin anda merasa penasaran aplikasi yang bagaimana yang akan saya perkenalkan, yang jelas hal ini merupakan hal yang sudah anda pahami sebelumnya. terus kenapa saya harus perkenalkan lagi, bagi saya hal ini penting untuk saya berbahgi, sebelumnya saya merasa membuat aplikasi seperti ini gampang saja, tetapi setelah saya coba ternyata ada saja kendalanya, misalnya perintah apa yang harus saya gunakan untuk ini atau untuk itu. Untuk mengetahui ini tentunya saya harus mencari tahu kemana-mana baik di internet, buku teks atau pada helpnya VB dan yang lebih istimewa saya juga mendapatkan cara yang lebih cepat, yaitu menanyakan pada yang sudah berpengalaman. Alhamdulillah informasi yang saya inginkan ditunjukkan oleh Allah kemana saja saya harus mencari, kata kunci apa yang harus saya gunakan pada serching machine.
e.e.e kok cerita aja, mana tutorialnya...
baik, perhatikan ya tampilan akhir yang akan kita hasilkan adalah sepertidi bawah ini, coba anda perhatikan sekali lagi apakan anda tertarik untuk mencoba, bila ya berdoa dulu semoga ilmu ini bermanfaat bagi kemaslahatan ummat. Bila tidak, tersenyum lah untuk kesehatan he he he...


CmdDisconnect.Enabled = True
Private Sub CmdDisconnect_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
cmdConnect.Enabled = True
CmdDisconnect.Enabled = False
End Sub
Klik pada MsComm1 dan ketikkan listing program sbb:
Private Sub MSComm1_OnComm()
Dim buffer
Dim temp As String
buffer = MSComm1.Input
If buffer = "," Then
Text1.Text = ""
Else
If Text1.Text = "" Then
Text1.Text = buffer
Else
Text1.Text = Text1.Text & buffer
End If
Text3.Text = Mid(Text1.Text, 1, 3)
Text4.Text = Mid(Text1.Text, 4, 3)
Text5.Text = Mid(Text1.Text, 7, 3)
Text6.Text = Mid(Text1.Text, 10, 3)
Text7.Text = Mid(Text1.Text, 13, 3)
Text8.Text = Mid(Text1.Text, 16, 3)
Text9.Text = Mid(Text1.Text, 19, 3)
Text10.Text = Mid(Text1.Text, 22, 3)
End If
End Sub
Aplikasi yang akan saya perkenal ini disini adalah aplikasi penerima data serial dengan parameter jamak, yaitu jumlah parameter yang ditampilkan adalah lebih dari satu parameter, hal seperti ini sering digunakan pada aplikasi telemetri.
Mungkin anda merasa penasaran aplikasi yang bagaimana yang akan saya perkenalkan, yang jelas hal ini merupakan hal yang sudah anda pahami sebelumnya. terus kenapa saya harus perkenalkan lagi, bagi saya hal ini penting untuk saya berbahgi, sebelumnya saya merasa membuat aplikasi seperti ini gampang saja, tetapi setelah saya coba ternyata ada saja kendalanya, misalnya perintah apa yang harus saya gunakan untuk ini atau untuk itu. Untuk mengetahui ini tentunya saya harus mencari tahu kemana-mana baik di internet, buku teks atau pada helpnya VB dan yang lebih istimewa saya juga mendapatkan cara yang lebih cepat, yaitu menanyakan pada yang sudah berpengalaman. Alhamdulillah informasi yang saya inginkan ditunjukkan oleh Allah kemana saja saya harus mencari, kata kunci apa yang harus saya gunakan pada serching machine.
e.e.e kok cerita aja, mana tutorialnya...
baik, perhatikan ya tampilan akhir yang akan kita hasilkan adalah sepertidi bawah ini, coba anda perhatikan sekali lagi apakan anda tertarik untuk mencoba, bila ya berdoa dulu semoga ilmu ini bermanfaat bagi kemaslahatan ummat. Bila tidak, tersenyum lah untuk kesehatan he he he...
Sekarang kita mulai membuat tampilan Visual Basic nya, buka software Visual Basic, dan pilih Standar EXE kemudian Open, maka akan tampil form utama VB seperti ini:
Kemudian letakkan satu Label, dua ComboBox, satu TextBox, dua CommandButton, dan satu Timer pada Form1 tsb.
Pada Visual Basic 6 ini, untuk mengakses port serial dengan menggunakan MSCOMM yang dapat ditambahkan dengan cara, klik kanan pada ToolBar dan pilih Components:
Kemudian cari Microsoft Comm Control 6, dan klik Apply:
dan tambahkan MsComm tersebut pada Form1:
Kemudian susun semua komponen pada Form1 tersebut menjadi seperti ini:
Lakukan pengaturan pada properties sbb:
- Untuk mengubah warna background, klik pada Form1 dan pilih Properties --> BackColor.Untuk mengganti tulisan ganti Caption, misalnya menjadi DATA PORT SERIAL .
- Pada properties Label1, isi tulisan Caption menjadi Tes Port Serial, Alignment --> Centre, BackStyle --> 0-Transparent. Pada tampilan ini saya menggunakan Font --> MS Sans Serif --> regular --> 14.
- Pada Combo1 ganti Text menjadi COM1, dan pada Combo2 ganti Text menjadi 2400.
- Pada Label4 sampai dengan Label11 ganti Caption dengan Parameter 1 hingga Parameter 8
- Pada TextBox Text1 sampai Text8, hapus tulisan pada Text,
- Pada TextBox Text9 hapus tulisan pada Text,
- Pada Command1, ganti (Name) --> cmdConnect dan Caption -->Connect. Pada Command2, ganti (Name) --> cmdDisconnect dan Caption --> Disconnect. Font yang digunakan adalah MS Sans Serif --> Regular --> 10.
- Pada Timer1 beri nilai interval 1000, yang berarti 1000 milisecond atau 1 detik.
- Biasakanlah untuk memberi nama CommandButton dengan awalan cmd, Label dengan awalan lbl, dan TextBox dengan awalan txt, tujuannya untuk mempermudah pengenalan jika program yang dibuat terdiri dari banyak CommandButton, Label, dan TextBox.
- Kemudian simpan dengan pilih, File --> Save Project AS.
Jika pengaturan sudah selesai, maka tampilan Form1 menjadi seperti ini:
Klik pada bagian dalam Form yang berwarna, sehingga muncul tulisan sbb:
Private Sub Form_Load()
End Sub
tambahkan sintak berikut diantara tulisan di atas
With Combo1
.AddItem "COM1"
.AddItem "COM2"
.AddItem "COM3"
.AddItem "COM4"
.AddItem "COM5"
.AddItem "COM6"
.AddItem "COM7"
.AddItem "COM8"
.AddItem "COM9"
End With
With Combo2
.AddItem "2400"
.AddItem "4800"
.AddItem "9600"
.AddItem "19200"
.AddItem "38400"
.AddItem "56600"
End With
Timer1.Enabled = False
Command1.Enabled = True
Command2.Enabled = False
End Sub
.AddItem "COM1"
.AddItem "COM2"
.AddItem "COM3"
.AddItem "COM4"
.AddItem "COM5"
.AddItem "COM6"
.AddItem "COM7"
.AddItem "COM8"
.AddItem "COM9"
End With
With Combo2
.AddItem "2400"
.AddItem "4800"
.AddItem "9600"
.AddItem "19200"
.AddItem "38400"
.AddItem "56600"
End With
Timer1.Enabled = False
Command1.Enabled = True
Command2.Enabled = False
End Sub
Klik pada cmdConnect sehingga muncul tulisan sbb:
Private Sub CmdConnect_Click()
End Sub
End Sub
Tambahkan sintak berikut diantara tulisan di atas
Dim port As Integer
'Command3.Enabled = True
'Command4.Enabled = True
On Error GoTo errcode
Select Case Combo1.ListIndex
Case -1
port = 1
Case 0
port = 1
Case 1
port = 2
Case 2
port = 3
Case 3
port = 4
Case 4
port = 5
Case 5
port = 6
Case 6
port = 7
Case 7
port = 8
Case 8
port = 9
End Select
If MSComm1.PortOpen = False Then
MSComm1.CommPort = port
MSComm1.RThreshold = 1
MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1"
MSComm1.PortOpen = True
cmdConnect.Enabled = False'Command3.Enabled = True
'Command4.Enabled = True
On Error GoTo errcode
Select Case Combo1.ListIndex
Case -1
port = 1
Case 0
port = 1
Case 1
port = 2
Case 2
port = 3
Case 3
port = 4
Case 4
port = 5
Case 5
port = 6
Case 6
port = 7
Case 7
port = 8
Case 8
port = 9
End Select
If MSComm1.PortOpen = False Then
MSComm1.CommPort = port
MSComm1.RThreshold = 1
MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1"
MSComm1.PortOpen = True
CmdDisconnect.Enabled = True
End If
Exit Sub
errcode:
MsgBox "Port Salah !", vbOKOnly, "Peringatan"
Combo1.SetFocus
Exit Sub
errcode:
MsgBox "Port Salah !", vbOKOnly, "Peringatan"
Combo1.SetFocus
Program diatas akan dijalankan ketika button Connect diklik, yang berarti jika pemilihan port yang digunakan benar maka port serial akan terbuka atau True, dan jika salah maka akan tampil peringatan "Port Salah!".
InputLen adalah banyaknya data yang diterima port serial pada sekali pengiriman, diberi nilai semaksimal mungkin, misalnya 40 karakter.
Settings adalah pengaturan komunikasi serial, baud rate didapatkan dari pemilihan nilai pada Combo2, N adalah Parity None, 8 adalah Data bits, dan 1 adalah Stop bits, sama seperti pengaturan pada HyperTerminal yang telah dijelaskan sebelumnya.
Jika port serial sudah terhubung maka cmdConnect disabled dan cmdDisconnect enabled.
Klik pada cmdDisconnect dan ketikkan listing program sbb:
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
cmdConnect.Enabled = True
CmdDisconnect.Enabled = False
End Sub
Klik pada MsComm1 dan ketikkan listing program sbb:
Private Sub MSComm1_OnComm()
Dim buffer
Dim temp As String
buffer = MSComm1.Input
If buffer = "," Then
Text1.Text = ""
Else
If Text1.Text = "" Then
Text1.Text = buffer
Else
Text1.Text = Text1.Text & buffer
End If
Text3.Text = Mid(Text1.Text, 1, 3)
Text4.Text = Mid(Text1.Text, 4, 3)
Text5.Text = Mid(Text1.Text, 7, 3)
Text6.Text = Mid(Text1.Text, 10, 3)
Text7.Text = Mid(Text1.Text, 13, 3)
Text8.Text = Mid(Text1.Text, 16, 3)
Text9.Text = Mid(Text1.Text, 19, 3)
Text10.Text = Mid(Text1.Text, 22, 3)
End If
End Sub
Sumber:
pak saya mau tanyak ni,,kalau mengirim data serial dengan bersamaan ke port-port mikrokontroller gimana ya pak melalui vb,,saya sudah cobak tapi 5 motor servo yang saya kontrol bergeraknya bergantian atau selang waktu,,
BalasHapusmohon bantuannya pak, terimakasih..
BalasHapuskirim datanya dapat dilakukan sekaligus, mis:
BalasHapusm1onm2onm3onm3offm4offm5on
terus di mikro data tadi dipisahkan dulu terus deteksi on atau off setiap motor