Arduino & Visual Studio - Serial Communication: The reason for this project is to show you, how to manage Serial connections in Visual Studio 2015 with VisualBasic as the main programming language.A few days ago, I copyed a project from VisualBasic 2010 to Visual Studio inside a VisualBasic pro. In the first section of our tutorial we will build a simple command line program that would show us how to read and write from the Serial port using Visual Basic.net.Here we are going to use the SerialPort Class provided by the dot net framework to access the port using vb.net code.
I use an Arduino UNO for this project.
Program it like in the picture above.
I did that in codebender.cc, but you can to that in your Arduino IDE, or any other IDE, too.
!!Be careful! Don't change the delay to any higher number than 100 Milliseconds. If you do so, you have to change the Interval for the Timer in VisualStudio, too!!
But, of course, inside your Arduino, you can type in any lower number than 100, without changing the Interval in VisualStudio.
That means: The Interval for the Timer in Visual Studio is not allowed to be lower than the delay for the Arduino. But it is allowed to be higher.
And: do never connect to any other Serial Port than to your Arduino, or completely remove or outcomment the Private Sub for the Timer. But, if you do that, you can't receive any SerialData anymore.
Because if the SerialPort-Module can't read any data from the SerialPort, the program will go into a Runtime Exception.
If it does so, just close the program and open it again, and then connect to the proper Serial Port.
Of course, if you want to, you can prevent this bug (Is it?) if you find a solution for it.
In a few days, I will create another tutorial for an advanced Serial Communication between VisualStudio and Arduino.
I am trying to create a serial port in VB.net using code only. Because I am creating a class library I cannot use the built-in component. I have tried instantiating a new SeialPort() object, but that does not seem to be enough. I'm sure there is something simple I am missing and any help would be greatly appreciated! Thanks!
P.S. I should add that the problem I am having at this time is getting the code to handle the datareceived event. Other than that it might be working, but I can't tell because of that problem.
dsolimano4 Answers
If you want to use the events make sure you declare your serialPort object using the 'withevents'. The below example will allow you to connect to a serial port, and will raise an event with the received string.
Jon BOpen Serial Port Visual Basic
I found this article to be quite good.
The code i wrote from it is:
Sorry it's C# but...
The only issue I have with it is if the port is dropped while it's open, the app seems to fail on exit.
BCSBCSThank you all for your help, especially the answer about instantiating a class using the WithEvents keyword.
I found a really great article that explains how to create a manager class for the serial port. It also discusses sending Binary as well as Hex data to the serial port. It was quite helpful.
Kyle GibbonsKyle GibbonsVisual Basic Serial Port Read
I have used the SerialPort .Net class in a past project and I worked fine. You really don't need anything else. Check the hardware setting in the control panel and make sure you instantiate the class with the same parameters.