Mientras más vamos conociendo y aprendiendo acerca de esta maravillosa herramienta que es la placa Arduino también van creciendo las ambiciones de nuestros proyectos, lo que conlleva a la necesidad de incorporar tanto más software como hardware a estos. Para que esto sea posible necesitamos establecer algún tipo de comunicación entre nuestra placa Arduino y nuestra PC u otros dispositivos, esto lo podemos realizar mediante la comunicación serial la cual nos provee de dos maneras distintas para hacerlo, una es mediante el USB (para comunicar con nuestra PC) y otra es mediante los pines seriales (0 y 1) (para comunicar con otros dispositivos, inclusive con otra placa Arduino). En este tutorial mostraré como realizar dicha comunicación con nuestra PC y cómo encender y apagar un led desde nuestro teclado como ejemplo, más adelante estaré haciendo tutoriales sobre cómo comunicar con otros lenguajes de programación y otros dispositivos. Monitor Serial El monitor serial es una herramienta que incorpora el IDE Arduino a través de la cual podemos enviar y recibir información de nuestra placa. Podemos acceder a ella mediante el menú “Herramientas” > “Monitor Serial” o simplemente pulsando las teclas Ctrl+Mayúsculas+M. Nota: Debe estar conectada nuestra placa Arduino a la pc para que funcione. Conexión: Como conexión no tendremos nada nuevo pues solo conectaremos un led como hemos venido haciendo en tutoriales pasados, de todos modos adjunto el link para quienes recién llegan al blog: Hacer parpadear un led con Arduino y Protoboard Código: int input; // Variable donde se almacenará el dato introducido por teclado int led=13; // Variable donde se guardará el número de pin al que hemos conectado nuestro led void setup(){ Serial.begin(9600); // Se inicia la comunicación serial pinMode(led, OUTPUT); // Se configura el pin como salida } void loop(){ if(Serial.available()>0){ // Si existen datos de entrada en la comunicacion serial hacer lo siguiente input=Serial.read(); // Guardamos el dato introducido if(input=='1'){ // Si el dato es igual a 1 digitalWrite(led, HIGH); // Encendemos el led Serial.println("Led Encendido"; } else{ // De lo contrario digitalWrite(led, LOW); // Apagamos le led Serial.println("Led Apagado"; } } } Inicialmente declaramos dos variables una que contendrá el dato introducido por teclado y otra para guardar el número de pin al que hemos conectado nuestro led. Posteriormente en el Setup hemos agregado la instrucción: Serial.begin(9600); Dicha instrucción solo requiere un parámetro y es la tasa de baudios a la cual se estará llevando a cabo la comunicación, este valor varía dependiendo del dispositivo aunque comúnmente es 9600 como es nuestro caso con la pc. Luego hemos usado la instrucción: Serial.available() La cual devuelve el número de bytes disponibles para ser leídos por el puerto serie, razón por la que la hemos usado dentro de un if para que cuando haya algún dato disponible guardarlo en la variable “input” mediante la función: Serial.read() Esta función simplemente lee los datos provenientes del puerto serie. Una vez obtenido el dato preguntamos con otro if si el dato introducido es igual a “1″, si lo es, procedemos a encender el led como ya hemos visto antes, con un digitalWrite() y el estado de HIGH además de mostrar un mensaje en el monitor serial “Led Encendido” con la función Serial.println() y en caso contrario apagamos el led también con la instrucción digitalWrite() pero ahora con un estado de LOW y mostramos como mensaje “Led Apagado”, cabe destacar que para imprimir una cadena de caracteres debemos escribir dicha cadena dentro de la función Serial.println() dentro de comillas dobles sino lo imprimirá con el formato ASCII. Resultado Final:
Datos archivados del Taringa! original
6puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos: