Arduino Tutorial: C# to Arduino Communication. Send data and commands from Computer to an Arduino.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Dear friends welcome to another Arduino Tutorial! Today we are going to build a C# windows application to send data and commands to an Arduino. Let’s get started! Hello guys, I am Nick and welcome to educ8s.tv a channel that is all about DIY electronics projects with Arduino, Raspberry Pi, ESP8266 and other popular boards. Subscribe to the channel now if you don’t want to miss any future videos. In this video we are going learn how to build our own computer programs, in order to communicate with Arduino. I have built a simple project to demonstrate how easy it is to build your own Windows applications that can control an Arduino. I have connected an LCD shield to an Arduino Mega, and I have also connected three LEDs to it. The application that I have developed connects to the Arduino using the Serial connection, and allow us to write some text to the LCD display and control the state of the LEDs. As you can see this is a very useful project if you need to send some data from your computer to an Arduino. Let’s see how to build this project. The parts needed in order to build this project, are the following: • An Arduino Mega • An LCD shield • Three LEDs • Three 100Ω Resistors for the LEDs • A small breadboard • Some wires The cost of the project is around $15. You can find links for all the parts I use in the description of the video below. Of course you can use an Arduino Uno to build this project or any Arduino board you like. I am using the Arduino Mega because it has more pins available so it makes things easier to demonstrate. First of all, let’s build the hardware part of the project. It is very easy to build since we are using a shield. We connect the LCD shield to the Arduino like this, and then we connect the LEDs. I am using pins, 19,20,21 for the LEDs. Connect a resistor to the long leg of each LED and the other leg to GND. You can find the schematic diagram of the project in the description of the video. If we program the Arduino, we can see, that the LCD display shows the message “Ready to connect”, which means the Arduino is programmed successfully and it is waiting for commands from the computer. Then we open the Computer application, we select the serial port that the Arduino is connected to and we press connect. Now we can control the Arduino from the computer! How cool is that! Let’s now see how to develop the computer software to send commands to the Arduino. The software that we are going to develop today, runs only on Windows, it won’t work on Linux or Mac. We are going to use Visual Studio 2017 community edition in order to develop the application. Visual Studio 2017 community edition is absolutely free. It is great development environment for Windows. With Visual Studio, you can literally build simple Windows Applications in minutes. First of all you have to download the installer, and install it on your machine. When prompted, select to install the .NET desktop development package and then press the install button. After the installation is complete you can launch the development environment. Now you have two options, you can create a new project and build your own application from scratch using the C# programming language or you can download my project and modify it to achieve your desired results. Of course you want to just test the project and can just run the executable that you can find in the description of the video. If this is the first time you are using Visual Studio, please watch some tutorials on YouTube to help you getting started. Since Visual Studio is very popular you can find great tutorials online. I won’t show how I built this Windows Application in detail in this video but if you are interested I can prepare another very detailed tutorial on that. Are you interested in a detailed tutorial on how to build a Windows Application like this on Visual Studio? Please vote by clicking on the card here. Let’s see how you can build your own Application. From the Menu on the Start Page we Select File-> New -> Project and we select to create a Visual C# -> Windows Classic Desktop -> Windows Forms App. We define a name for the Project and we press OK. That’s it a new project has been created and we can start to build our UI. As you can see, there are two tabs on the main project window. In the Form1.cs file we write our C# code. In the Form1.cs [Design] tab we design the User Interface of our Application. From the toolbox on the Left, we can select any tool we like and we can drag and drop it on our form. It is that easy. Each User Interface element has some Properties. We can modify them from this window. For example we can change the button text here. If we now press the Start button we can see our application running. Let’s now open the ComputerToArduino project to see how it works. This is the UI design and this is the code of the project. Before we start let me explain you how this project works. I have created a simple communication protocol for this project which consists of 6 commands. Each command is 4 characters long and it can be followed by some data. Each command is starts with the # character and it is terminated by the \n symbol. This symbol will tell the Arduino that the command is complete so it can act. So we have the following commands: • STAR for Start • STOP • TEXT • LED1 • LED2 • LED3 The STAR command tells the Arduino to wait for commands from the computer. The STOP command tells the Arduino that the computer has disconnected from it. The TEXT command is followed by the text we want to display on the LCD. For example if we write #TEXTYOUTUBE\n on the serial port the word YOUTUBE will appear on the display. The LED1, LED2 and LED3 commands control the state of each LED. So if we want to turn on the first LED we write the following command to the serial port: #LED1ON\n . If we want to turn off the second LED we send the command #LED2OF . The same thing applies to the third LED as well. That’s the very basic protocol I use in this project. Of course you can design and use your own protocol which can use many more commands. In the code now at first, after the User Interface is initialized we disable all the controls. Then we get the available serial ports on the computer and we load them on the combox. When we press the Connect button, the button1_Click method is called and we try to connect to Arduino if we are not already connected. In order to connect to Arduino, we open the Serial port, and we send a command to it. We simply write #STAR\n to the serial port. Then we change the button text and we enable all the controls on the user interface. Now if we write a text on the textbox and press the write button, we get the text from the textbox and write it to the Serial port with the command TEXT. Also, when the state one of the checkboxes changes we send the command LED1 for example with the state, on or off. Lastly, when we press the connect button and we are already connected to Arduino we send the STOP command. Now let’s take a quick look at the Arduino code. At first we initialize the display. Then we wait for serial data. When we receive data on the serial port we save them in the variable inputString until we receive the \n character. When we receive this character we know that command is complete, so we have to act. If we receive the TEXT command for example we know that we have to print something on the LCD display. So, we remove the first five characters from the inputString variable, because that’s the command, we delete then last 2 character which is the \n symbol and we print the remaining characters on the display. We do something similar when we receive an LED command. We read the next two characters after the command to see if we need to turn the LED on or off and we act accordingly. As you can see the Arduino code is very simple, we just use so if statements to respond to the commands sent by the computer. As always you can find the code of the project, both the Arduino Code and the C# code in the description of the video below. From this demonstration project you can see that it is relatively easy to build your own Windows applications to control an Arduino. If you learn the basics of C# and Visual Studio you can build impressive projects. You can build your own computer peripherals! There are so many projects that we can build around a computer. I have already a project in mind that I am going to build soon. I am going to build an external Arduino computer monitor which will display the CPU usage, memory usage and so on in real time. I think this is going to be cool. I would love to hear your ideas as well. Do you find Computer to Arduino communication useful and if so what kind of projects are you going to build? Please post your comments in the comments section below and don’t forget to like the video and share it with your friends if you find it useful! Also consider subscribing to the channel and do click that bell or YouTube might not show you updates as new videos come out. If you are going to be shopping for parts check out the affiliate links from the video description. That’s it for today guys, thanks you very much watching, I will see you in the next video! [ Translating these subtitles? Add your name here! ]
Info
Channel: educ8s.tv
Views: 261,419
Rating: 4.9099507 out of 5
Keywords: Arduino, Arduino Tutorial, Arduino Serial Communication, Arduino C#, C# application, Arduino to Computer communication, C# to Arduino, Visual Studio 2017, Arduino Visual Studio 2017, educ8s, educ8s.tv, Arduino easy tutorial, Arduino serial, Arduino C# serial, Arduino LCD computer, Arduino DIY computer communication, Arduino computer peripheral, arduino c# application, Computer Arduino communication, LCD 16x2 Computer, Arduino Computer LED control
Id: vHeG3Gt6STE
Channel Id: undefined
Length: 9min 50sec (590 seconds)
Published: Sat Apr 22 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.