Beruflich Dokumente
Kultur Dokumente
4:
Utilizar
las
comunicaciones serie para enviar
informacin del Arduino a nuestro
ordenador
Hemos visto en las lecciones anteriores como nuestro Arduino puede
interactuar con el mundo exterior recibiendo informacin por sus entradas
digitales y generando rdenes con sus salidas digitales. A estas alturas del
curso todava las "capacidades sociales" de nuestro Arduino son muy limitadas,
pero en esta leccin vamos a intentar aumentar su crculo social. Las
comunicaciones serie son una forma sencilla y flexible de comunicar nuestro
Arduino con otros equipos. Por ejemplo con otro arduino, con nuestro
ordenador personal o con cualuqier otro dispositivo que sea capaz de
comunicarse por un puerto serie.
Habilitar las comunicaciones serie entre dos equipos involucra tareas referntes
al hardware y al software. El hardwre posibilita el intercambio de seales
elctricas entre los dos equipos con unos valores normalizados que entienden
ambos interlocutores. El software se apoya en el hardware para intercambiar
informacin entre los equipos. Las libreras de comunicaciones serie
suministradas con Arduino nos liberan de prcticamente todo el trabajo y slo
tenemos que preocuparnos de dos cosas: conectar los dos equipos en los
pines correctos y utilizar las funciones disponibles para mandar las cadenas de
caracteres deseadas. Sin embargo hay unas nociones bsicas que nos
resultarn tiles para poder solucionar problemas cuando nuestras
comunicaciones fallen. Si el lector est familiarizado con las comunicaciones
serie entre microprocesadores puede saltar esta introduccin.
[Introduccin a las comunicaciones serie]
La comunicacin entre dos dispositivos se establece intercambiando cadenas
de caracteres. Por ejemplo podemos querer enviar la cadena de caracteres
"Saludos". Cada caracter de nuestra cadena se codifica utilizando un byte
segn un cdigo que se conoce con el nombre de ASCII. Cada byte se
compone de un conjunto de ocho bits distintos. El bit es la unidad mnima de
informacin y slo toma valores digitales (verdadero o falso). Es decir que para
enviar nuestra cadena de ejemplo entre los dos microprocesadores, lo que
tenemos que enviar es una "serie" de bits concreta.
Por ejemplo, para enviar nuestra cadena "Saludos" tendramos que enviar una
serie de 56 bits (7 bytes).
Las comunicaciones serie a nivel de hardware se establecen enviando cadenas
de pulsos elctricos unos a continuacin de otros (en serie), cada uno de los
cuales representa un bit de informacin. Si el nivel elctrico del pulso es bajo,
es decir su tensin es de 0V, significa que el valor de ese bit es 0. Si el nivel del
pulso es alto, es decir su tensin es 5V, significa que el valor de ese bit es 1.
Por lo tanto nuestra cadena de 56 bits se tiene que convertir en un tren de
pulsos de niveles alto o bajo.
El terminal TXD est unido por una resistencia al pin IO1 y el terminal RXD al
pin IO2 del Arduino (los pines del puerto serie). Observar que hemos unido el
terminal TXD del Arduino con el RXD del terminal y el RXD del Arduino con el
TXD del terminal. De esta manera cruzada el emisor de uno se une al receptor
del otro. De esta forma tan sencilla ya tenemos enlazado nuestro equipo
Arduino con nuestro ordenador PC.
Observe que hemos utilizado dos funciones diferentes para enviar cadenas por
nuestro puerto serie. La funcin Serial.print(), ya vista antes, enva una cadena
de caracteres o un nmero por el puerto serie. Sin embargo, la funcin
Serial.println(), despus de enviar la cadena de caracteres o el nmero por el
puerto serie, enva tambin un cdigo de control que genera un salto de lnea.
De esta forma, en este nuevo programa resulta ms sencilla la lectura en el
terminal virtual de la informacin recibida porque cada nuevo mensaje, y el
contador que los numera, se muestra en una lnea diferente.