
English: 
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,

Spanish: 
Queridos amigos, ¡bienvenidos a otro tutorial de Arduino!
Hoy vamos a construir una aplicación de Windows C # para enviar datos y comandos a un Arduino.
¡Empecemos!
Hola chicos, soy Nick y bienvenidos a educ8s.tv, un canal que trata sobre electrónica de bricolaje
proyectos con Arduino, Raspberry Pi, ESP8266 y otras placas populares.
Suscríbete al canal ahora si no quieres perderte ningún video futuro.
En este video vamos a aprender cómo construir nuestros propios programas de computadora, para comunicarnos
con Arduino
He creado un proyecto simple para demostrar lo fácil que es crear sus propias aplicaciones de Windows
 
que puede controlar un Arduino.
lo.
La aplicación que he desarrollado se conecta al Arduino usando la conexión en serie,

English: 
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.

Spanish: 
y nos permite escribir algo de texto en la pantalla LCD y controlar el estado de los LED.
Como puede ver, este es un proyecto muy útil si necesita enviar algunos datos desde su computadora
a un Arduino
Veamos cómo construir este proyecto.
Las partes necesarias para construir este proyecto son las siguientes:
Un Arduino Mega • Un escudo LCD
Tres LED • Tres resistencias de 100Ω para los LED
Una placa de prueba pequeña • Algunos cables
El costo del proyecto es de alrededor de $ 15.
Puede encontrar enlaces para todas las partes que uso en la descripción del video a continuación.
Por supuesto, puede usar un Arduino Uno para construir este proyecto o cualquier placa Arduino que desee.
Estoy usando el Arduino Mega porque tiene más pines disponibles, por lo que facilita las cosas
demostrar.
En primer lugar, construyamos la parte de hardware del proyecto.
Es muy fácil de construir ya que estamos usando un escudo.
Conectamos el escudo LCD al Arduino de esta manera, y luego conectamos los LED.

Spanish: 
Estoy usando pines, 19,20,21 para los LED.
Conecte una resistencia a la pata larga de cada LED y la otra pata a GND.
Puede encontrar el diagrama esquemático del proyecto en la descripción del video.
Si programamos el Arduino, podemos ver que la pantalla LCD muestra el mensaje "Listo
para conectarse ", lo que significa que el Arduino está programado con éxito y está esperando
para comandos de la computadora.
Luego abrimos la aplicación Computadora, seleccionamos el puerto serie que es el Arduino
conectado y presionamos conectar.
¡Ahora podemos controlar el Arduino desde la computadora!
¡Cuan genial es eso!
Veamos ahora cómo desarrollar el software para enviar comandos al Arduino.
El software que vamos a desarrollar hoy, solo se ejecuta en Windows, no funcionará
en Linux o Mac.
Vamos a utilizar la edición comunitaria Visual Studio 2017 para desarrollar la aplicación.
La edición comunitaria de Visual Studio 2017 es totalmente gratuita.
Es un excelente entorno de desarrollo para Windows.

English: 
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.

Spanish: 
Con Visual Studio, literalmente puede crear aplicaciones simples de Windows en minutos.
En primer lugar, debe descargar el instalador e instalarlo en su máquina.
Cuando se le solicite, seleccione instalar el paquete de desarrollo de escritorio .NET y luego presione
El botón de instalación.
Una vez completada la instalación, puede iniciar el entorno de desarrollo.
Ahora tiene dos opciones, puede crear un nuevo proyecto y crear su propia aplicación
desde cero usando el lenguaje de programación C # o puede descargar mi proyecto y modificar
para lograr los resultados deseados.
Por supuesto, solo desea probar el proyecto y puede ejecutar el ejecutable que pueda
encontrar en la descripción del video.
Si es la primera vez que usa Visual Studio, vea algunos tutoriales en YouTube
para ayudarlo a comenzar.
Dado que Visual Studio es muy popular, puede encontrar excelentes tutoriales en línea.
No mostraré cómo construí esta aplicación de Windows en detalle en este video, pero si está interesado
Puedo preparar otro tutorial muy detallado sobre eso.

English: 
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.

English: 
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.

Spanish: 
¿Está interesado en un tutorial detallado sobre cómo construir una aplicación de Windows como
esto en Visual Studio?
Por favor vote haciendo clic en la tarjeta aquí.
Veamos cómo puede crear su propia aplicación.
Desde el menú en la página de inicio, seleccionamos Archivo-> Nuevo -> Proyecto y seleccionamos para crear
un Visual C # -> Windows Classic Desktop -> Aplicación Windows Forms.
Definimos un nombre para el Proyecto y presionamos OK.
Eso es, se ha creado un nuevo proyecto y podemos comenzar a construir nuestra interfaz de usuario.
Como puede ver, hay dos pestañas en la ventana principal del proyecto.
En el archivo Form1.cs escribimos nuestro código C #.
En la pestaña Form1.cs [Diseño] diseñamos la interfaz de usuario de nuestra aplicación.
Desde la caja de herramientas a la izquierda, podemos seleccionar cualquier herramienta que nos guste y podemos arrastrar y soltar
en nuestro formulario
Es así de fácil.
Cada elemento de la interfaz de usuario tiene algunas propiedades.
Podemos modificarlos desde esta ventana.

Spanish: 
Por ejemplo, podemos cambiar el texto del botón aquí.
Si ahora presionamos el botón Inicio, podemos ver nuestra aplicación en ejecución.
Abramos ahora el proyecto ComputerToArduino para ver cómo funciona.
Este es el diseño de la interfaz de usuario y este es el código del proyecto.
Antes de comenzar, déjame explicarte cómo funciona este proyecto.
He creado un protocolo de comunicación simple para este proyecto que consta de 6 comandos.
Cada comando tiene 4 caracteres y puede seguir algunos datos.
Cada comando comienza con el carácter # y termina con el símbolo \ n.
Este símbolo le dirá al Arduino que el comando está completo para que pueda actuar.
Entonces tenemos los siguientes comandos: • STAR para Inicio
• DETENER • TEXTO
• LED1 • LED2
• LED3 El comando STAR le dice al Arduino que espere
para comandos de la computadora.
El comando STOP le dice al Arduino que la computadora se ha desconectado de él.

English: 
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.

English: 
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.

Spanish: 
El comando TEXTO es seguido por el texto que queremos mostrar en la pantalla LCD.
Por ejemplo, si escribimos #TEXTYOUTUBE \ n en el puerto serie, aparecerá la palabra YOUTUBE
en la pantalla
The LED1, LED2 and LED3 commands control the state of each LED.
Entonces, si queremos encender el primer LED, escribimos el siguiente comando en la serie
puerto: # LED1ON \ n. Si queremos apagar el segundo LED, enviamos el comando # LED2OF. los
Lo mismo se aplica al tercer LED también.
Ese es el protocolo muy básico que uso en este proyecto.
Por supuesto, puede diseñar y usar su propio protocolo que puede usar muchos más comandos.
En el código ahora al principio, después de que se inicializa la interfaz de usuario, deshabilitamos todos los controles.
Luego obtenemos los puertos seriales disponibles en la computadora y los cargamos en el combox.
Cuando presionamos el botón Conectar, se llama al método button1_Click e intentamos conectarnos a
Arduino si aún no estamos conectados

Spanish: 
Para conectarnos a Arduino, abrimos el puerto serie y le enviamos un comando.
Simplemente escribimos #STAR \ n en el puerto serie.
Luego cambiamos el texto del botón y habilitamos todos los controles en la interfaz de usuario.
Ahora, si escribimos un texto en el cuadro de texto y presionamos el botón de escritura, obtenemos el texto from
el cuadro de texto y escríbalo en el puerto serie con el comando TEXTO.
Además, cuando cambia el estado de una de las casillas de verificación, enviamos el comando LED1 por ejemplo
con el estado, encendido o apagado.
Por último, cuando presionamos el botón de conexión y ya estamos conectados a Arduino, enviamos
El comando STOP.
Ahora echemos un vistazo rápido al código Arduino.
Al principio inicializamos la pantalla.
Luego esperamos los datos en serie.
Cuando recibimos datos en el puerto serie, los guardamos en la variable inputString hasta
recibimos el \ n caracter.
Cuando recibimos este personaje, sabemos que el comando está completo, por lo que debemos actuar.

English: 
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.

Spanish: 
Si recibimos el comando TEXTO, por ejemplo, sabemos que tenemos que imprimir algo en
La pantalla LCD.
Entonces, eliminamos los primeros cinco caracteres de la variable inputString, porque eso es
el comando, eliminamos los 2 últimos caracteres que es el símbolo \ n e imprimimos el resto
personajes en la pantalla.
Hacemos algo similar cuando recibimos un comando LED.
Leemos los siguientes dos caracteres después del comando para ver si necesitamos encender el LED
encendido o apagado y actuamos en consecuencia.
simple, solo usamos las declaraciones if para responder a
Los comandos enviados por la computadora.
Como siempre, puede encontrar el código del proyecto, tanto el código Arduino como el código C # en el
Descripción del video a continuación.
A partir de este proyecto de demostración, puede ver que es relativamente fácil construir su propio
Aplicaciones de Windows para controlar un Arduino.
Si aprende los conceptos básicos de C # y Visual Studio, puede crear proyectos impresionantes.
¡Puedes construir tus propios periféricos de computadora!
Hay tantos proyectos que podemos construir alrededor de una computadora.

English: 
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.

English: 
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! ]

Spanish: 
Ya tengo un proyecto en mente que voy a construir pronto.
Voy a construir un monitor de computadora Arduino externo que mostrará el uso de la CPU,
uso de memoria, etc. en tiempo real.
Creo que esto va a ser genial.
Me encantaría escuchar tus ideas también.
¿Le resulta útil la comunicación de computadora a Arduino y, de ser así, qué tipo de proyectos son
vas a construir?
Publique sus comentarios en la sección de comentarios a continuación y no olvide que le gusta el
video y compártelo con tus amigos si te resulta útil.
También considere suscribirse al canal y haga clic en esa campana o YouTube podría no mostrar
se actualiza a medida que salen nuevos videos.
Si va a comprar piezas, consulte los enlaces de afiliados del video
description.
Eso es todo por hoy chicos, muchas gracias viendo, los veré en la próxima
video!
[¿Traduciendo estos subtítulos? ¡Agrega tu nombre aquí! ]
