Visual Foxpro Serial Communication Arduino And Processing
After creating the dropControllerBT app and realizing how much easier controlling the dropController device is through the app I started to think about creating a PC app. I haven’t done any PC programming for many years and so I looked at what various options are currently available.
Visual Basic kept being recommended for ease of use and quick development. Visual Basic comes as part of Microsoft’s Visual Studio Suite and I initially download and played with Visual Studio Express which in turn lead to Visual Studio Community.
Arduino to Visual Basic 2013 Communication. The example uses a very simply form and shows what ever it recieves from the Arduino in a text box. I have same article which guide to make communication serial between Arduino and Visual C++.
Both are free for personal use. Visual Studio Express is a striped down version of the larger packages and has some major limitations. Visual Studio 2013 Community, on the other hand, is a full featured IDE and development system free to use for students, open source contributors and small development teams. It includes several languages but for now I am only interested in Visual Basic.
Visual Studio 2013 Community is available for download at. The download is just the installer which will download the main program from the internet. If, like me, you prefer an off line installer, you can get one at The main download page is at After installing the software it took me a while and many Google searches before I started to figure out the IDE.
For me, fully learning the IDE is beyond what I want and have time for but over the course of a weekend I managed to create my first working program. Free download sketchup for mac. A simple example of receiving data from the Arduino. Arduino to Visual Basic 2013 Communication The example uses a very simply form and shows what ever it recieves from the Arduino in a text box. The Arduino Sketch The Arduino Sketch sends the string “1234” over the serial connection once every second.
At the same time it blinks the built in LED on pin 13. 'Simple example of receiving serial data 'written in Visual Basic 2013 ' 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(sender As Object, 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(sender As Object, e As EventArgs) Handles connect_BTN.Click If (connect_BTN.Text = 'Connect') Then If (comPORT ') Then SerialPort1.
Close() 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() 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(sender As Object, e As EventArgs) Handles Timer1.Tick receivedData = ReceiveSerialData() 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(sender As Object, e As EventArgs) Handles clear_BTN.Click RichTextBox1.Text = ' End Sub End Class The program in Detail I am using two global variables; comPORT and receivedData.