ARD06 – Datos en serie

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

Ya sabemos que Arduino recibe el sketch que hemos codificado y lo ejecuta, reconociendo entradas o dando salidas de señal a diferentes dispositivos (hasta ahora, hemos usado un LED, pero ya veremos que podemos conectar otros elementos como altavoces, motores, etc).

Además, Arduino puede enviar datos en serie a través del puerto USB al ordenador. El IDE de Arduino puede recibir estos datos y mostrárnoslos en una ventana como valores numéricos.

Para gestionar este tipo de comunicación empleamos un objeto llamado Serial, que se encarga de la transmisión y presentación de datos.

En este artítulo vamos a emplear el mismo circuito que en el anterior, por lo que no hay cambios en la parte hardware.

EL SKETCH

El sketch presenta algunos aspectos en los que nos vamos a centrar. El listado completo aparece reproducido a continuación:

Lo primero en lo que nos vamos a fijar es en la sección setup, donde vemos la siguiente línea:

Con esto referenciamos al objeto Serial que, como decimos, es el encargado de gestionar la comunicación de Arduino a través del puerto USB. El método begin() lo que hace es “abrir” la comunicación. Como argumento le pasamos la velocidad a la que se establecerá la comunicación, en baudios.

Ahora veamos la sección loop que, como sabemos, se ejecuta una y otra vez, mientras Arduino esté operando con el sketch cargado. Lo primero que hacemos es leer el valor del potenciómetro y alojarlo en la variable entrada, así:

Más adelante vemos que usamos el objeto Serial, que ya tenemos abierto, así:

Serial.println(entrada);

El método println() imprime una línea, con el argumento que le pasamos (en este ejemplo, el valor de la entrada). Y ¿dónde la imprime? ¿Dónde la podemos ver? Bien. Para eso nos vamos a la ventana del IDE de Arduino y pulsamos el botón Monitor Serie, situado a la derecha de la barra superior de botones, como podemos ver en la figura 6.1.

Figura 6.1. El botón que activa el monitor serie.

Figura 6.1. El botón que activa el monitor serie.

Con esto se abre una ventana de Arduino, como la de la figura 6.2.

Figura 6.2. Ventana de monitorización de la comunicación serie.

Figura 6.2. Ventana de monitorización de la comunicación serie.

En la figura de ejemplo vemos como se imprimen las líneas con el valor de la entrada del potenciómetro, una debajo de otra. Esto es lo que hace el método println() del objeto Serial. Como se aprecia, aparecen diversos valores, lo que indica que hemos girado el potenciómetro durante la ejecución.

IMPORTANTE. En la parte inferior derecha de la ventana de datos serie aparece una lista desplegable con distintas posibles velocidades de comunicación. Es vital que esté seleccionada la misma velocidad con la que hemos iniciado el objeto Serial con el método begin(). Si no, no funcionará la comunicación.

Observa la última línea del sketch:

Esta instrucción provoca un retardo antes de continuar la ejecución, es decir, detiene la ejecución, durante un periodo determinado. En este caso, se provoca el retardo antes de que se reinicie el bucle loop. El retardo aparece como argumento, expresado en milisegundos. Por lo tanto, esta instrucción introduce un retardo de una décima de segundo en cada ejecución del bucle. Puede no parecer demasiado espectacular pero, en tiempo de ordenador, una décima de segundo es muy significativa.

     

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *