Comunicación serial y puerto serial son parte de equipos electrónicos como periféricos de computador, modems, sistema de adquisición de datos, sistemas para configurar equipos médicos, industriales, de radiocomunicación, kits de evaluación, depuración y desarrollo de microcontroladores y dsps, etc. por eso su importancia en entender cómo utilizar e implementar el puerto serie en la tarjeta microbit.

Las comunicaciones seriales permitan a los microcontroladores enviar y recibir datos a través de 2 cables, normalmente conectados al puerto serial. Los computadores también tienen puerto serial, por eso es muy común conectar estos dispositivos para enviar y recibir datos, como mostrado en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

El principio de funcionamiento del puerto serie, se basa en unos circuitos digitales llamados: “Registros de desplazamiento”, los cuales, por ejemplo, para el transmisor, reciben un byte (8 bits) y los sacan o envían por 1 bit. Los receptores, leen 1 bit y sacan un byte (8 bits), como mostrado en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para que los registros de desplazamiento funcionen, necesitan un pulso de reloj (clock) el cual indica la velocidad de transmisión o bits por segundo (bps). En comunicaciones seriales a esta velocidad, también se le conoce como: “baudios”. Para que la comunicación sea bidireccional, es necesario que cada dispositivo cuente con un transmisor y un receptor. Uno de los principales usos del puerto serie, es transmitir cadenas de texto, como mostrado en la siguiente imagen, donde la tarjeta microbit transmite la cadena: “Hola mundo”, para una computadora.

 

 


| Clique na imagem para ampliar |

 

 

Podemos observar cómo los datos viajan por registros de desplazamiento y llegan al otro lado en forma ordenada. Un punto importante a tener en cuenta para la correcta transmisión/recepción de los datos, es que los dos relojes o velocidades (baudios) deben ser las mismas en el transmisor y el receptor.

 

Para usar los bloques de comunicación serial en la tarjeta microbit, vaya al menú: “Avanzado” y luego al menú: Serial, como muestra la siguiente imagen:

 

 


 

 

 

Aparecerá una ventana con los bloques para comunicación serial, como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Cuando usamos bloques del puerto serial, MakeCode ofrece una consola simuladora para verificar los datos enviados por el puerto serie. Seleccione el botón: “Mostrar consola simulador” como muestra la siguiente figura:

 

 


 

 

 

Aparecer una ventana como la mostrada en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

El simulador tiene una ventana para plotear o graficar valores numéricos y una ventana para textos. En este apartado usaremos este simulador para ver la comunicación serie. Es necesario tener la última versión del navegador para tener un mejor desempeño del simulador. Para sistemas operativos inferiores a Windows 10, tal vez sea necesario instalar algún driver para reconocer la tarjeta microbit.

 

 

 

ESCRITURA EN EL PUERTO SERIAL.

 

 

Para escribir un numero al puerto serial podemos usar el bloque llamado: “serial escribir número”, el cual se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Por ejemplo, el siguiente programa envía por el puerto serie un numero al azar entre 0 y 10

 

 


 

 

 

El bloque: “escoger al azar de” se encuentra en el menú: “Matemáticas”. En la consola puedes observar los datos, como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para escribir una cadena de texto (string) al puerto serial, podemos usar el bloque llamado: “serial escribir cadena”, el cual se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

 

Para escribir una línea de texto, es decir una cadena de caracteres terminados con un retorno de carro y nueva línea, podemos usar el bloque llamado: “serial escribir línea”, el cual se muestra en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

El siguiente programa muestra el uso de los bloques anteriormente vistos:

 

 


| Clique na imagem para ampliar |

 

 

Para que aparezca el botón de la consola, presione el botón A o B de la tarjeta simuladora de microbit. Al presionar los botones podemos ver los datos en la consola como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para escribir un texto en el formato: nombre: valor, podemos usar el bloque llamado: “serial escribir valor”, el cual se muestra en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

Por ejemplo, el siguiente programa envía la temperatura por el puerto serie. La variable temperatura la encuentra en el menú: “Entrada”

 

 


 

 

 

Con el mouse, puede alterar el valor de la variable temperatura en el simulador y ver los valores en el terminal como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para escribir un arreglo de valores numéricos como CSV (Comma Separated Values), es decir, valores separados por coma, podemos usar el bloque llamado: “serial escribir números matriz de”, como se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

 

 

Lectura del puerto serial.

 

Para leer los datos recibidos por el puerto serie, como una cadena de caracteres, podemos usar el bloque llamado: “serial leer cadena”, como muestra la siguiente imagen:

 

 


 

 

 

Para leer una línea de texto del puerto serie, podemos usar el bloque llamado: “serial leer línea”, como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para leer una línea de texto del puerto serie, devolviendo los datos cuando llegue un delimitador, podemos usar el bloque llamado: “serial leer hasta”, como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Los delimitadores del bloque: “serial leer hasta”, pueden ser vistos en la siguiente imagen:

 

 


 

 

 

Para capturar un evento cuando uno de los delimitadores sea igual, podemos usar el bloque llamado: “serial al recibir datos”, como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Los delimitadores que pueden generar eventos son mostrados en la siguiente imagen:

 

 


 

 

 

 

 

Configuracion y bloques avanzados del puerto serie.

 

La mayoría de bloques que veremos a continuación, se encuentran en un menú llamado “mas”, ubicado abajo del menú: “Serie”, como muestra la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para establecer el tamaño del buffer de transmisión, podemos usar el bloque llamado: “serial establece el tamaño de la memoria interna de transmisión a”, el cual se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para establecer el tamaño del buffer de recepción del puerto serie, podemos usar el bloque llamado: “serial establece el tamaño de la memoria interna de recepción a”, el cual se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para enviar un buffer a través del puerto serie, podemos usar el bloque llamado: “serial write buffer”, el cual se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Para leer varios caracteres desde el búfer de recepción, podemos usar el bloque llamado: “serial leer búfer”, el cual es mostrado en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

En el parámetro del bloque: “serial leer búfer”, se puede especificar la cantidad de caracteres que se quieren leer. Si este parámetro es cero (0), entonces el bloque retorna los datos disponibles en el búfer de recepción.

 

Para establecer la velocidad de baudios del puerto serie, podemos usar el bloque llamado: “serial establecer la velocidad de transmisión en baudios”, la cual se muestra en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Normalmente este bloque se encaja en el bloque: “al iniciar” y la siguiente imagen muestra las posibles velocidades que se pueden configurar, siendo que las más usadas en la práctica son 9600 y 115200 baudios:

 

 


 

 

 

Por defecto, la conexión para el puerto serie, esta sobre el puerto USB de la tarjeta microbit. Esta configuración se puede cambiar, para los datos del puerto serie, entren y salgan por los pines de la tarjeta microbit. Para configurar la entrada y salida del puerto serie sobre los pines, use el bloque llamado: “serial redirigir a”, el cual se puede ver en la siguiente figura:

 

 


| Clique na imagem para ampliar |

 

 

En los parámetros que recibe el bloque, tenemos:

TX: es el pin de transmisión sobre el cual se enviarían los datos.

RX: es el pin de recepción sobre el cual se recibirán los datos.

velocidad: Es la velocidad en baudios, para recibir y transmitir datos.

 

Observa en la siguiente figura, los posibles pines que se pueden seleccionar para TX y RX en el menú desplegable del bloque: “serial redirigir a”:

 

 


 

 

 

La siguiente figura muestra las posibles velocidades en baudios del menú desplegable del bloque:

 

 


 

 

 

El siguiente es un ejemplo donde se redirige el puerto serial para el pin P1 (TX) y P2 (RX) con una velocidad de 9600 baudios:

 

 


 

 

 

Para configurar la entrada y salida del puerto serie, comunicarse via la conexión USB, podemos usar el bloque llamado: “puerto serie redirigir a USB”, el cual se muestra en la siguiente imagen:

 

 


 

 

 

 

 

Lectura serial del microbit desde la computadora.

 

 

Si desea leer directamente los datos seriales de la tarjeta microbit, es necesario instalar un emulador de terminal como: PuTTY, Tera Term, etc. Vamos a instalar el emulador de terminal PuTTY, el cual puede bajar de la página web: https://www.putty.org

 

Después haber bajado el programa, vaya al administrador de dispositivos de Windows, el cual se encuentra en “Configuraciones/Sistema/Acerca de”, expanda la sección: Puertos (COM & LPT) y verifique el número de COM que fue asignado a la tarjeta microbit.

 

 


| Clique na imagem para ampliar |

 

 

Suponiendo que fue asignada, por ejemplo, la COM8 para la tarjeta microbit, abra el programa PuTTY y en la pantalla principal use la siguiente configuración: Serial/COM8/115200, como muestra la siguiente figura:

 

 


 

 

 

Opcionalmente puedes marcar: “Implicit CR in every LF”, como mostrado en la siguiente imagen:

 

 


 

 

 

Ahora puedes seleccionar el botón: “Open” y aparecerá una terminal como mostrado en la siguiente imagen:

 

 


| Clique na imagem para ampliar |

 

 

Una de las principales aplicaciones de las terminales, es la depuración de proyectos con microcontroladores y DSPs. Pues usando el bloque: “serial escribir línea”, entre las varias actividades de un programa en desarrollo con la tarjeta microbit, permite conocer cómo responde y que actividades se están generando, ante determinados eventos en un proyecto.

 

 

Buscador de Datasheets



N° de Componente