Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Introducción
Los puertos de comunicación serial nos proporcionan la forma más efectiva de co-
municar nuestra placa de Arduino con Proteus, y como podrás notarlo a través de
esta comunicación podremos mandar diferentes órdenes a nuestro Arduino para
automatizar procesos o incluso recibir informaciones importantes para mostrar-
las en la pantalla de nuestro computador.
2 Origen
Luego, el señor Morse inventó su dispositivo que enviaba sonidos cortos y largos,
que representaban los caracteres. En el código Morse, los sonidos cortos se llaman
ESPACIOS y los sonidos largos se denominan MARCAS. Por lo tanto, esto es un
código binario, porque usa solo 2 valores posibles: Espacio y Marca. En términos
de computadoras se dirı́a que trabaja con los números 0 y 1, dependiendo de
cada bit.
3 Principio de Funcionamiento
I. Bit de Inicio. Cuando el receptor detecta el bit de inicio sabe que la trans-
misión ha comenzado y es a partir de entonces que debe leer la transmisión y
entonces debe leer las señales de la lı́nea a distancias concretas de tiempo, en
función de la velocidad determinada.
Comunicacion Serial entre Proteus y C Sharp 3
III. Bit de Paridad. Con este bit se pueden descubrir errores en la transmisión.
Se puede dar paridad par o impar. En la paridad par, por ejemplo, la palabra de
datos a transmitir se completa con el bit de paridad de manera que el número
de bits 1 enviados es par.
4 Protocolo RS-232
Las señales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS
son de entrada. La tierra de referencia para todas las señales es SG (Tierra de
Señal). Finalmente, existen otras señales como RI (Timbre Telefónico).
A continuación los pasos para crear una comunicacion serial entre proteus y
visual studio, con el diseño e implementacion de un semaforo con control remoto.
Paso 1
Paso 2
Paso 3
Paso 4
6 P. Padilla
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
Serial.begin(9600);
}
void loop() {
while(Serial.available()){
delay(100);
byte dato=Serial.read();
switch(dato){
case ’1’:
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
break;
case ’2’:
digitalWrite(13,LOW);
break;
case ’3’:
Comunicacion Serial entre Proteus y C Sharp 7
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(13,LOW);
break;
case ’4’:
digitalWrite(12,LOW);
break;
case ’5’:
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
break;
case ’6’:
digitalWrite(11,LOW);
break;
case ’7’:
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,HIGH);
break;
case ’8’:
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
break;
}
}
}
Paso 5
Hacer clic en ”Exportar a binarios compilados”, este proceso sera necesario para
la ejecucion del Arduino en la simulacion. A continuacion se creara 2 archivos.
(Fig. 7)
Paso 6
Hacer clic en el Arduino, se va a desplegar una ventana donde vamos a seleccionar
uno de los archivos que se nos creo a partir de la exportacion, como se menciono
en el anterior paso. (Fig. 8)
Paso 7
Hacer clic en el Compim para seleccionar el puerto, en mi caso seleccione el
puerto: 2 y configurar segun el codigo escrito. (Fig. 9)
Paso 8
Configurar cada resistencia pasar de 1k a 220, con el fin de que el led sea mas
intensa al encender. (Fig. 10)
Comunicacion Serial entre Proteus y C Sharp 9
Paso 9
Paso 10
Contruimos el control del semaforo, para ello se uso buttons, labels, un picture-
Box y un serialPort, que es el mas importante para exista esa comunicacion entre
las aplicaciones. (Fig. 12)
Para comunicar Visual Studio con Arduino a través del puerto serie tienes
que hacer uso de una clase llamada SerialPort. Esta clase será la encargada de
comunicar a través del puerto serie con Arduino. La clase expone una serie de
propiedades y de métodos que nos ayudan a configurar el protocolo de comuni-
cación.
10 P. Padilla
Paso 11
A partir del anterior paso, hacemos clic en cada button y en cualquier lado de
la Aplicacion de Windows Forms para que se nos carge el Load de la misma.
Aqui vamos usar la misma logica que se uso en Arduino, solo que cada case del
switch que se escribio en Arduino IDE sera para cada evento clic de los buttons.
(Fig. 13)
using System;
using System.IO.Ports;
using System.Windows.Forms;
{
SerialP ortpuerto5;
publicF orm1()
{
InitializeComponent();
}
puerto5.W rite(”3”);
puerto5.Close();
}
Paso 12
Virtual Serial Port Driver permite crear un número ilimitado de puertos serie
virtuales. Los puertos creados se encuentran en el grupo de ”puertos” en el
Administrador de Dispositivos, por lo que son visibles y fácilmente reconocibles
por todo el software y hardware que instale.
Paso 13
Creamos el puerto serial virtual que seria: COM2 - COM5; el COM2 se uso en
el compim del Proteus y el COM5 se usa en el Visual Studio. (Fig. 15)
Paso 14
Como se puede ver se enciende todos los leds del Proteus a partir de hacer clic
en el button ”Encender todos” del ejecutable de Visual Studio y tambien se ve
la actividad del puerto serial creado en Launch Virtual Serial Port Driver.
Paso 15
References
1. “Comunicación puerto serie entre Arduino y C,” Programar fácil con Arduino, Oct.
16, 2015. https://programarfacil.com/tutoriales/fragmentos/comunicacion-puerto-
serie-entre-arduino-y-c/ (accessed Nov. 26, 2022).
4. un, “Virtual Serial Port Driver,” Virtual Serial Port Driver, 2019.
https://www.virtual-serial-port.org/es/ (accessed Nov. 26, 2022).
5. INNOVA DOMOTICS, “Control del Puerto Serial con C en Visual Studio 2015
Community,” YouTube. Oct. 30, 2016. Accessed: Nov. 26, 2022. In: Youtube,
https://www.youtube.com/watch?v=wMgqSupTSfU.