Bu uygulamada VB.Net'te basit bir arayüz oluşturulmuş ve SerialPort yoluyla Arduino UNO üzerinde iletişim kurulmuştur. Basit bir arayüz olarak Windows Form üzerinde ListBox ve Button kullanılmıştır. Resimde gördüğünüz üzere bilgisayar bağlantısı kurulu Arduino ile seçili COM portu üzerinden iletişim sağlanmıştır. İlgili konuyla kendi ara yüzünüzü yaratıp, herhangi bir şekilde Serial Monitor'daki gibi Arduino'nuzu yönlendirebilirsiniz.
VB.Net kodlarımızı incelemeye geçmeden önce aşağıdaki gibi basit bir arayüz oluşturalım ve oluşturduğumuz arayüze ToolBox'tan bir adet de
SerialPort ekleyelim.
Görsel ara yüzümüzü oluşturduktan sonra sırasıyla kodlarımızı inceleyelim.
Imports System.IO.Ports
Eklediğimiz SerialPort'un yöntemlerini(methods) kullanabilmek için SerialPort Sınıfı import edildi.
Dim comPort As String
Dim isConnected As Boolean = False
Com Port'unun adı ve bağlantı kontrolü için 2 adet değişken tanımlanıldı.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each sp As String In My.Computer.Ports.SerialPortNames
portList.Items.Add(sp)
Next
End Sub
Program ilk çalıştırıldığında mevcut olan Com Portları ListBox içerisinde sıralandı.
Private Sub portList_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles portList.SelectedIndexChanged
If (portList.SelectedItem <> "") Then
comPort = portList.SelectedItem
End If
End Sub
Kullanıcının ListBox'tan geçerli bir port seçip seçmediğini kontrol edilip, ilgili değişkene aktarıldı.
Private Sub connectButon_Click(sender As Object, e As EventArgs) Handles
connectButon.Click
If Not (isConnected) Then
If (comPort <> "") Then
SerialPort1.PortName = comPort
SerialPort1.BaudRate = 9600
SerialPort1.DataBits = 8
SerialPort1.Parity = Parity.None
SerialPort1.StopBits = StopBits.One
SerialPort1.Handshake = Handshake.None
SerialPort1.Encoding = System.Text.Encoding.Default
SerialPort1.ReadTimeout = 10000
SerialPort1.Open()
connectButon.Text = "Dis-Connect"
onData.Text = comPort & " bağlanıldı."
Else
MsgBox("Select a COM Port first!")
End If
Else
SerialPort1.Close()
connectButon.Text = "Connect"
End If
End Sub
Connect butonuna tıklanma olayında tek buton üzerinde hem bağlanma hem de bağlantıyı kesme özelliği için Boolean değişkeni kullanıldı. Ardından seçili bir Port'un olup olmadığı kontrol ettirilip, SerialPort bağlantısı için gerekli olan değerler aktarılıp bağlantı sağlanıldı. SerialPort hakkında daha fazla bilgiye ulaşmak için,
https://msdn.microsoft.com/tr-tr/library/system.io.ports.serialport