This article will show how to communicate between Arduino and Visual Studio through COM (UART) port.

Hello Everyone, I am using an Arduino Uno and a couple of atmosferic sensors. Using DHT11 for humidity and BMP085 for pressure and temperature readings. My goal is to pass this information to a Visual basic program using serial port communication. To do this I concantenate the sensor readings into one string with the format: 'TXXXPYYYYYYHZZZZ' where X will be the temperature, Y the pressure. Visual Foxpro Serial Communication Port Plus Modem Control; Users can use dbExpress driver in the same way as the one supplied. Use WSC4VB to write applications to access data from serial devices such as barcode scanners, modems, lab instruments, medical devices, USB serial devices, scales, GPS navigation, fingerprint scanner, printer servers, etc. Connect the Arduino to your computer via USB port and take note of the COM port it is connected through. We will be using Visual Studio to write a WPF application that will interface with the Arduino. For communication between the Arduino and our C# program, we will use the serial COM port. This is the project I help group of student develop and I believe communication with arduino using vb.net is useful for public. This is a software that has a receiver and sender, the sender is a device which measure the heart rate and send it through nrfl24lo to the receiver arduino which is connected to the system, the software has the following feature.

  • 38,596 views
  • 6 comments
  • 30 respects

Components and supplies

Apps and online services

Microsoft Visual Studio 2015

About this project

This article shows how to communicate between Arduino and Visual Studio through COM (UART) port.

(1) Arduino will send data to the Visual Studio program:

(2) Visual Studio program will send data to Arduino. Arduino receives it, then feed it back to Visual Studio program.

Overview of steps:

1. Hardware connection2. Arduino program3. Visual Studio program

1. Hardware connection

2. Arduino program

Make a program for Arduino. At start up, Arduino will send a string (a sentence) every 0.5 sec. This will stop when User sends data (string) to Arduino, then Arduino will send it back to User. In this case, User is Visual Studio program (in part 3).

The code can be downloadhere - Google share

3. Visual Studio program

Make a windows application 🠚 save it.

Add a button, textbox and label to the Form (taken from Toolbox in the left):

Click on button, textbox and label to see Properties in the Toolbox in the right. Remember the name of each item to program in a latter section.

Add components 'serial Port' and 'timer':

Also, see properties to know the name each item. Remember to rename 'serialPort1' 🠚 'Portname' to COM-Port of Arduino (this case is COM4)

Programming works:The whole code of Visual Studio program can be downloaded here - Google share

(1) Double click to Form1 🠚 input the following code.Meaning: open (Arduino) COM-Port and start timer1

(2) Double click to Button1 🠚 input the following code.Meaning: send string from textBox1 to (Arduino) COM-Port

(3) Double click to timer1 🠚 input the following code.Meaning: every time timer1 ticks (it will tick every 0.1s 🠚 setting in 'Interval' of Properties of timer1), label1 will update information

(4) Click to serialPort1 🠚 see at Properties toolbox 🠚 click at 'Event' icon 🠚 double click at 'DataReceived'.

Then input the following code.

Meaning: read COM-Port data at every time receiving 🠚 save it to 'mStr'

Auxiliary code:

(1) Meaning: when Form1 is closed 🠚 close COM-Port and stop timer1

(2) Meaning: make global variable 'mStr'

After all, click icon 'Local Window Debugger' to build and run the program.

If everything runs smoothly, a window form will appear (note: Arduino should be connected to computer through COM4 with the program as in Step2).

At result (1): Form1 will show results from Arduino.

At result (2): Form1 will send data to Arduino, then receive it after Arduino sends it.

Author

engineer2you
  • 14 projects
  • 70 followers

Published on

March 11, 2017
Write a comment

Members who respect this project

and 23 others

Visual Foxpro Serial Communication Arduino Download

See similar projects
you might like

Table of contents

Write a comment
DIY: Build your own Breadboard Arduino
May 1, 2016

Visual Foxpro Serial Communication Arduino Projects

Bubble Sorting with a Arduino/C++ Application
May 3, 2016
Foxpro

One of the main features you can add to your Arduino, is communicating with it via an application. You can easily and quickly use VB.NET to send and receive information from the serial COM port that your Arduino uses.

The first step, Visual Studio

We are using Visual Studio 2015 for this tutorial, load it up and create a new project. We have named ours COMTest and saved it to the Desktop folder. Now that you have a basic application to work with, take a look at the following piece of code:

As you can see, you can get a list of available COM ports on the system, this is useful as the user does not have to select the correct COM port.

Visual Foxpro Serial Communication Arduino Tutorial

You can either place this list of COM ports in a ListBox, or even better, configure your project to β€˜auto’ connect to a COM port. (as seen below) This involves sending a byte to each of the COM ports and checking the response, in your Arduino sketch you can set it to respond to a certain string – If it matches this in VB.NET when you read the COM port then you have the right connection.

You can see this method with the following piece of code (VB.NET):

As you can see above, we loop through the list of available COM ports on the system and then try and send a string β€œt” to the Arduino and check for a response. If the response equals β€œOK” we know this COM port has our Arduino connected. (Note this would only work with 1 connected Arduino, extra programming would be required for multiple devices) If it’s β€œOK” then we set a global variable comPort and connected, so that we can use them elsewhere in the program.

The code above also shows that we are wrapping this in a Try/Catch statement, this is because we’re trying to send data to all COM ports and we may receive an error message otherwise.

We have written a basic function to open a COM port, send a string and close it again. The comPort variable is filled in by using the above auto connect code, you can run this on the Form_Load event:

Arduino Sketch (Checking the serial data for an incoming byte)

And in the Arduino sketch, respond to a certain string. We do this by reading the Serial data in the Loop, whilst the Serial is available. If this equals β€˜t’ then we respond with an OK string. The .NET application now knows that it’s talking to our Arduino.

That should be all you need to get started with the basics of connecting and sending/receiving data to/from the Arduino on the serial ports. This should work with any Arduino.

Related posts

Visual Foxpro Serial Communication Arduino Code

Create a basic BBC Micro:Bit Air Mouse