Hur man automatiskt identifiera och ansluta till Arduino i Visual Studio med Visual Basic (1 / 2 steg)
Steg 1: Visual Studio
1. Lägg till följande till din Windows-formulär i designvyn:
- Timer och kallar det TimerConnect.
- ListBox och kallar det lstConsole.
- Knappen och kallar det btnConnect.
2. Lägg till referens IO hamnar överst i koden:
Import System.IO.Ports
3. Ange en global variabel i början av den offentliga klassen:
Dim ArduinoConnected som Boolean
4. lägga till dessa till din Form belastning sub:
TimerConnect.Enabled = False
ArduinoConnected = False
AutoConnect()
3. Lägg till dessa subs i skriptet:
Private Sub BtnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) hanterar btnConnect.Click
Om ArduinoConnected då
SerialPort.Close()
btnConnect.Text = "Anslut"
Annat
AutoConnect()
Slut om
End Sub
Private Sub autoconnect()
För varje sp som sträng i My.Computer.Ports.SerialPortNames
Försök
SerialPort.PortName = sp
SerialPort.BaudRate = 9600
SerialPort.DataBits = 8
SerialPort.Parity = Parity.None
SerialPort.StopBits = StopBits.One
SerialPort.Handshake = Handshake.None
SerialPort.Encoding = System.Text.Encoding.Default
SerialPort.Open()
SerialPort.Write("3/")
TimerConnect.Interval = 500
TimerConnect.Start()
Medan TimerConnect.Enabled och ArduinoConnected = False
Application.DoEvents()
Slutet medan
Om ArduinoConnected då
btnConnect.Text = "Koppla från"
Utgång för
Slut om
SerialPort.Close()
Fånga som undantag
MsgBox (ex. Meddelande)
Slutet försök
Nästa
Om ArduinoConnected = falskt då
MsgBox ("Arduino kunde inte ansluta. Kontrollera att den är ansluten.")
Slut om
End Sub
Public Sub TimerConnect_Tick(sender As Object, e As EventArgs) hanterar TimerConnect.Tick
TimerConnect.Stop()
End Sub
Public Sub SerialPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) hanterar SerialPort.DataReceived
Dim str som sträng = SerialPort.ReadExisting()
Om str. Contains("Arduino") sedan
ArduinoConnected = sant
lstConsole.Items.Add ("Arduino ansluten")
Slut om
End Sub