InicioCiencia EducacionComunicar Arduino con Visual Studio
Comunicar Arduino con Visual Studio

En esta publicación aprenderemos como conectar nuestra placa Arduino con una aplicación
para computadora creada en Visual Studio de manera directa mediante el puerto serie.

Programación en Arduino

Para este ejemplo empezaremos por algo sencillo, el HOLA MUNDO de la electrónica, encender un led. 
En nuestra placa Arduino en el pin 13 tenemos un led conectado a una resistencia así que la aprovecharemos. En el Setup colocamos el pin 13 como Salida ademas de iniciar el puerto serial.
Void Setup() {
pinMode(13, OUTPUT);
Serial.Begin(9600);
}

Lo siguiente será hacer el loop en el cual haremos uso de la sentencia Serial.available() esta nos regresa el número de bytes disponibles para lectura en el puerto serie. En caso de que no estemos mandando nada por el puerto serie el valor devuelto es 0 y nosotros leeremos solamente cuando el número de bytes enviados sea mayor que 0.
Void loop() {
            if (Serial.available() > 0) {
                 int lectura = Serial.read(); //Leemos el puerto serie y lo guardamos en lectura
                 if(lectura == '1') //Si lectura es igual a 1 Encendemos el led
                  {
                      digitalWrite(13, HIGH);
                  }
                 else if(lectura == '0') //Si lectura es igual a 0 Encendemos el led
                 {
                      digitalWrite(13, LOW);
                 }
             }
}

Con ese código ya estaría funcionando nuestro arduino para usar el monitor serie enviando 1 para encender y 0 para apagar.

lo siguiente es la aplicación en Visual Studio

Programación en Visual Studio

Explicare primero como funciona en consola y luego lo veremos en una aplicación visual con Windows Form. Tanto en consola como en Form usaremos la herramienta SerialPort.

Consola

Empezaremos agregando el Using para usar los puertos.
Using System.IO.Ports;

Ahora en el Main instanciamos el SerialPort
SerialPort serial1 = new SerialPort("COM3", 9600);

De esta manera creamos el puerto serial estableciendo el nombre del puerto como COM3 a 9600 baudios
Abrimos el puerto y ya estaremos listos para realizar la comunicación 
serial1.Open();

Mandaremos un mensaje con los valores que podemos ingresar
Console.WriteLine("Presione 1 para encender, 0 para apagar o X para salir" );

Comenzamos a leer la consola y enviar datos.
Crearemos un string llamado valor que nos servirá como contenedor de lo que escribimos en consola
string valor = "";
while(valor != "x" )
{
valor = Console.ReadLine()
if(valor == "1" ||valor == "0" )
valor = serial1.Write(valor);
}

Entramos a un ciclo While hasta que valor sea igual a x. leemos la consola y entramos al if donde solo entra si valor contiene 1 ó 0, de ser así mandaremos el valor por el puerto serial. Al salir cerramos el puerto serie
serial1.Close();

Windows Form

Iniciemos una nueva aplicación de Windows Forms y lo primero que haremos sera agregar la herramienta SerialPort desde el Cuadro de herramientas, luego iremos al constructor del Form1 de nuestra aplicación y establecer lo siguiente:
Public Form1()
{
InitializeComponent();
serialPort1.PortName = "COM3";
serialPort1.BaudRate = 9600;
serialPort1.Open();
}

Con esto ya queda establecido el puerto serie con el nombre "COM3" a 9600 baudios

Agregamos dos botones a uno lo llamamos Encender y al otro Apagar, si queremos podemos agregar un Label para que nos de información del estado del led.

Botón Encender

En el evento click del botón Encender enviamos "1" por el puerto y escribimos el estado en el label1
Private void btn_Encender_Click(object sender, EventArgs e)
{
serialPort1.Write("1" );
label1.Text = "Led Encendido";
}

Botón Apagar

En el evento click del botón Apagar enviamos "0" por el puerto y escribimos el estado en el label1
private void btn_Apagar_Click(object sender, EventArgs e)
{
serialPort1.write("0" );
label1.Text = "Led Apagado";
}

Para no tener problemas de dejar el puerto abierto al cerrar la aplicación en el evento FormClosing cerraremos el puerto.


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen)
serialPort1.Close();
}

Ahora a probar!


Datos archivados del Taringa! original
22puntos
106visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

R
Rebeater🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.