Saltar la navegación

Descripción y esquemas

La comunicación con Arduino es muy sencilla, el uso común de este dispositivo, será como receptor o emisor de datos. 

En nuestro caso usaremos caracteres (bytes)  que enviaremos desde un master, como un teléfono móvil. Hay muchas aplicaciones gratuitas para enviar datos, por ejemplo, para dispositivos Android podemos utilizar de manera gratuita:

  • BlueControl
  • BlueTerm

Podemos hacer que un robot o vehículo se mueva dependiendo de las órdenes (letras) que reciba desde la aplicación del teléfono.

Por ejemplo, la aplicación bluecontrol muestra unos iconos a modo de joystick, en este caso al pulsar sobre cada tecla, se envía una letra:

  • Arriba: U
  • Abajo: D
  • Izquierda: L
  • Derecha: R
  • Centro: C

El código de Arduino se basa en escuchar de forma continua el puerto serie. Cuando llegue un dato se ejecutará la acción que le indiquemos. 

Vamos a ver un ejemplo implementando un mosaico de LEDs:

leds

Las conexiones serán las siguientes:

conexiones-leds

El objetivo es que según la tecla que presionemos en la aplicación “Blue Control”, se encenderá el led correspondiente: (arriba, abajo, izquierda, derecha y centro). Además si pulsamos alguno de los botones laterales, los leds deberán realizar una animación de todos los leds:

  •    Encendido de los leds en sentido horario.
  •    Encendido de los leds en sentido antihorario.
  •    Encendido intermitente de los leds exteriores y el interior.
  •    Encendido intermitente de todos los leds.

INVENTA MÁS ANIMACIONES PARA INCLUIRLAS EN LOS BOTONES QUE SOBRAN EN LA APLICACIÓN

Para simplificar el código, hemos creado funciones para ejecutar cada una de las animaciones, estas funciones están al final del programa.

La lectura se hace mediante 2 funciones:

  • La función Serial.available() nos indica si hay un dato disponible en el puerto serie (verdadero/falso)
  • Con la función dato = Serial.read(); guardamos el dato en una variable (de typo byte)

Con esto tendremos el código ASCII del  caracter enviado por el maestro, por ejemplo si hemos enviado una A tendremos el 65, B = 66, a = 97, b = 98, ... (ascii.cl/es/)

Lo único que nos queda es comparar el dato recibido y elegir la acción que tiene que hacer Arduino.