Comunicación en serie de Arduino
En el tutorial anterior, hemos visto cómo escribir nuestro boceto personal para un circuito de nuestro personal. Además, hemos visto algunas funciones nuevas y las utilizamos según nuestras necesidades. En este tutorial, vamos a ver un nuevo tema conocido como Comunicación en serie. Veremos el intercambio de conocimientos entre Arduino UNO y un PC.
Antes de avanzar en el tutorial, vamos a centrarnos primero en lo que es la comunicación en general. La comunicación no es más que un cambio de datos entre dos unidades. En este caso, el conocimiento no es nada, pero el conocimiento puede ser algo como un documento de contenido textual, imágenes, datos de audio o vídeo, etc. El conocimiento puede enviarse o adquirirse entre dos métodos o unidades y está dentro del tipo de bits, es decir, 0 y 1.
Hay muchos tipos de protocolos que pueden utilizarse para transferir conocimientos entre dos unidades, pero todos estos protocolos se basan principalmente en la comunicación paralela y en la comunicación en serie.
La comunicación paralela es una técnica de transferencia de un número de conocimientos, utilizando simultáneamente una variedad extra de cepas de conocimiento. Algunos de los ejemplos más extendidos de comunicación paralela son las antiguas y laboriosas impresoras y discos. Incluso las memorias RAM de los sistemas informáticos más modernos utilizan la comunicación en paralelo, ya que aumenta el ritmo de transmisión de conocimientos al utilizar canales independientes para cada bit que se transmite.
Sin embargo, este ritmo excesivo de transferencia de conocimientos en la comunicación paralela requiere una variedad adicional de cables y el espacio de comunicación puede ser mucho más pequeño, lo que significa que no pueden utilizarse para la comunicación a larga distancia.
Aparte de las comunicaciones a bordo como la RAM, las tarjetas gráficas y las diferentes conexiones PCI, todas las diferentes unidades como impresoras, discos laboriosos, Ethernet, etc., utilizan la comunicación serie. Es porque, a diferencia de la comunicación en paralelo, la comunicación en serie transfiere un bit de conocimiento a la vez a través de dos a cuatro hilos, dependiendo del protocolo.
Aunque la velocidad del cambio de información en la comunicación en serie puede ser mucho menor comparada con la de la comunicación en paralelo, este ritmo es amplio para unidades como la impresora, el disco laborioso, el ratón, etc.
Las principales ventajas de la comunicación en serie frente a la comunicación en paralelo son una mayor distancia de comunicación, una variedad mucho menor de cables para la comunicación, un descuento en la complejidad del {hardware}, etc.
Cuando llegas al Arduino, la comunicación entre el Arduino UNO (o alguna otra placa) y el PC es una comunicación en serie.
El objetivo principal de esta comunicación en serie es pasar el sketch del pc al Arduino, enviar datos al pc, etc.
El tipo más típico de protocolo de comunicación en serie es el UART, es decir, el Transmisor Receptor Asíncrono Común. La conexión UART requiere un conector de 9 pines DE - 9. Sin embargo, la mayoría de los sistemas informáticos de moda y los ordenadores portátiles no incorporan estos puertos COM. Por tanto, si necesitamos unir nuestros microcontroladores como el 8051, el AVR o el ARM, tenemos que utilizar un convertidor externo de serie a USB.
Sin embargo, el Arduino UNO tiene un convertidor de serie a USB, por lo que podemos unir inmediatamente el Arduino al PC. Utilizando esta conexión USB y el IDE de Arduino, somos capaces de enviar conocimientos al Arduino u obtenerlos del mismo. Este conocimiento se puede controlar con la ayuda del Monitor Serial dentro del IDE de Arduino.
Ahora que ya tenemos algunas ideas sobre la comunicación en serie, vamos a escribir un programa para la comunicación entre Arduino y el PC. Para ello, modificaremos el programa botón - LED que utilizamos en el tutorial anterior.
En este sketch, en cualquier momento en que se pulse el botón, se encenderá el LED relacionado con el Arduino. En este tutorial, realizaremos la misma operación con una actividad extra de transferir la posición del botón al pc e imprimirla en el terminal o monitor serie.
En el escenario de Arduino, como forma de iniciar o provocar la comunicación en serie, tenemos que utilizar una actuación predefinida conocida como "Serial.start".
Serial.start es un programa que se utiliza para iniciar la comunicación serie y también para establecer la carga del interruptor de información para la comunicación.
La sintaxis de Serial.start es Serial.start (carga de baudios);
Dentro de la sintaxis, la carga de baudios significa el número de bits que intercambiaremos en un solo segundo. Los elementos de carga de baudios son bits por segundo (bps) y los valores de carga de baudios generalizados son 9600 bps, 19200 bps, 115200 bps, etc.
La carga de baudios popular en la mayoría de las unidades es de 9600 bps y el valor por defecto en el terminal serie de Arduino puede ser el mismo. Así que dentro del sketch, inicializaremos la comunicación en serie escribiendo Serial.start (9600); dentro de los actos de configuración.
Después de inicializar la comunicación serie, el siguiente paso es enviar el conocimiento al terminal serie del Arduino, que probablemente se mostrará en la pantalla del ordenador. Para ello, tenemos que utilizar otra actuación conocida como "Serial.println".
Utilizando la función Serial.println, podemos transmitir conocimientos desde el Arduino al PC que pueden verse en el monitor serie. La sintaxis de la función Serial.println es Serial.println ("Conocimiento");
En lugar del conocimiento dentro de la actuación de Serial.println, ahora tenemos que poner por escrito el conocimiento preciso que hay que transmitir. Por ejemplo, si necesitamos intercambiar información como "Práctica nº: 1234", entonces ahora tenemos que enviar Serial.println ("Nº de práctica: 1234");
Volviendo al tutorial, dentro del programa botón - LED, activamos el LED tras comprobar la posición del botón dentro de la sentencia "if - else". Para el propósito del tutorial, haremos el mismo factor junto con la impresión de la posición del botón en el monitor de serie.
El esquema modificado se demuestra más arriba. En este sketch, hemos modificado la sentencia "if - else" para enviar el conocimiento necesario según la posición del botón. Si la situación dentro de la declaración "if" es verdadera, es decir, si se pulsa el botón, el LED se enciende y, del mismo modo, la posición del botón se transfiere al PC como "botón pulsado". Del mismo modo, cuando la situación es falsa, el LED se apaga y el conocimiento en serie se transmite como "botón no pulsado".
En el siguiente tutorial, procederemos a explorar las opciones del Arduino utilizando la función de entrada analógica del Arduino y también el funcionamiento del PWM del Arduino.
Si quieres conocer otros artículos parecidos a Comunicación en serie de Arduino puedes visitar la categoría Electricidad Básica.
Deja una respuesta
¡Más Contenido!