Enviar datos desde Arduino al ordenador
Para empezar, vamos a enviar datos desde el Arduino al PC. El IDE de Arduino tiene un monitor serie para comunicarse con el ordenador a través del puerto USB. Un monitor serie es un programa que en todo momento examina el tráfico que sale o entra por el puerto serie, y nos lo muestra por pantalla.
Copia los siguientes programas y abre el monitor serie cuando los hayas descargado. Para ello, una vez subido a Arduino, abre el monitor pulsando sobre su icono en la parte superior derecha del IDE. Se abrirá una ventana como esta:
En ella puedes ajustar la velocidad de la comunicación serie y otros aspectos. El monitor serie permite enviar datos en la línea de comandos y recibirlos en la ventana grande. Veamos varios ejemplos de uso:
a) Vamos a enviar el valor 81 en formato decimal al PC. El sketch sería el siguiente:
void setup() { Serial.begin(9600); } void loop() { Serial.println(81); delay(1000); }
Observa que va imprimiendo el valor 81 constantemente:
También podemos determinar el formato de salida del valor que enviamos (decimal, binario, hexadecimal, octal o byte)
b) Para enviar el valor 81 en formato decimal, podemos hacerlo con el programa anterior o también con este:
void setup() { Serial.begin(9600); } void loop() { Serial.println(81,DEC); //Imprime "81" delay(1000); }
c) Para enviar el valor 81 en formato hexadecimal:
void setup() { Serial.begin(9600); } void loop() { Serial.println(81,HEX); //Imprime "51" delay(1000); }
d) Para enviar el valor 81 en formato octal:
void setup() { Serial.begin(9600); } void loop() { Serial.println(81,OCT); //Imprime "121" delay(1000); }
e) Para enviar el valor 81 en formato binario:
void setup() { Serial.begin(9600); } void loop() { Serial.println(81,BIN); //Imprime "1010001" delay(1000); }
f) Y para enviar el valor 81 como un byte usa la función write():
void setup() { Serial.begin(9600); } void loop() { Serial.write(81); //Imprime "Q", representa el carácter 81 de ASCII delay(1000); }