Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Simple example of receiving serial data
- 'written in Visual Basic 2013
- 'http://www.martyncurrey.com/arduino-and-visual-basic-part-1-receiving-data-from-the-arduino/
- Imports System
- Imports System.IO.Ports
- Public Class Form1
- Dim comPORT As String
- Dim receivedData As String = ""
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Timer1.Enabled = False
- comPORT = ""
- For Each sp As String In My.Computer.Ports.SerialPortNames
- comPort_ComboBox.Items.Add(sp)
- Next
- End Sub
- Private Sub comPort_ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles comPort_ComboBox.SelectedIndexChanged
- If (comPort_ComboBox.SelectedItem <> "") Then
- comPORT = comPort_ComboBox.SelectedItem
- End If
- End Sub
- Private Sub connect_BTN_Click(ByVal sender As Object, ByVal e As EventArgs) Handles connect_BTN.Click
- If (connect_BTN.Text = "Connect") Then
- If (comPORT <> "") Then
- SerialPort1.Close()
- SerialPort1.PortName = comPORT
- SerialPort1.BaudRate = 115200
- SerialPort1.DataBits = 8
- SerialPort1.Parity = Parity.None
- SerialPort1.StopBits = StopBits.One
- SerialPort1.Handshake = Handshake.None
- SerialPort1.Encoding = System.Text.Encoding.Default
- SerialPort1.ReadTimeout = 1000 ' 10000
- SerialPort1.Open()
- connect_BTN.Text = "Dis-connect"
- Timer1.Enabled = True
- Timer_LBL.Text = "Timer: ON"
- Else
- MsgBox("Select a COM port first")
- End If
- Else
- SerialPort1.Close()
- connect_BTN.Text = "Connect"
- Timer1.Enabled = False
- Timer_LBL.Text = "Timer: OFF"
- End If
- End Sub
- Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
- receivedData = ReceiveSerialData()
- Dim strArr
- strArr = receivedData.Split(" ")
- ProgressBar1.Value = strArr(0)
- ProgressBar2.Value = strArr(1)
- ProgressBar3.Value = strArr(2)
- ProgressBar4.Value = strArr(3)
- ProgressBar5.Value = strArr(4)
- ProgressBar6.Value = strArr(5)
- ProgressBar7.Value = strArr(6)
- RichTextBox1.Text &= receivedData
- End Sub
- Function ReceiveSerialData() As String
- Dim Incoming As String
- Try
- Incoming = SerialPort1.ReadExisting()
- If Incoming Is Nothing Then
- Return "nothing" & vbCrLf
- Else
- Return Incoming
- End If
- Catch ex As TimeoutException
- Return "Error: Serial Port read timed out."
- End Try
- End Function
- Private Sub clear_BTN_Click(ByVal sender As Object, ByVal e As EventArgs) Handles clear_BTN.Click
- RichTextBox1.Text = ""
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment