domingo, 21 de diciembre de 2014

Controla Arduino con tu smartphone o tablet

CommanDuino es una aplicación con la que podemos controlar por bluetooth las tarjetas Arduino Uno, Mini, Pro y Nano a través de un dispositivo móvil. Esto se logra ya que el bluetooth que tenemos en nuestro dispositivo móvil envía señales al módulo bluetooth que tenemos conectado al Arduino.

Esta aplicación nos permite ahorrar líneas de código en nuestro programa ya que desde la aplicación podemos configurar los pines que queremos utilizar como entradas o salidas . Del mismo modo, podemos colocar los pines en alta (HIGH) o en baja (LOW) desde la aplicación; adicionalmente, podemos enviar una señal PWM a los pines que aceptan este tipo de señal.

Aquí puedes descargar la aplicación del Play Store.
O escanea el código QR desde tu smartphone:




QR Code






Antes de empezar a usar la aplicación, debemos conectar nuestro módulo bluetooth al Arduino. Para ello, primero debemos configurar este módulo como esclavo. Para realizar la configuración pueden revisar este tutorial si cuentan con un módulo maestro/esclavo. Si por el contrario tienen un módulo esclavo, pueden revisar esta página: configuración de un módulo bluetooth esclavo.
Una vez que se ha configurado el módulo bluetooth, lo conectamos al Arduino como se muestra en el circuito.

Componentes a utilizar
  •  Arduino Uno
  •  2 resistencias de 220 Ω
  •  2 Leds 
  •  Módulo Serial Bluetooth esclavo
  •  Protoboard
  •  Cables

Circuito



Después de implementar el circuito, debemos descargar la librería CommanDuino.h. Aquí puedes descargar la librería CommanDuino.h. Luego de descargarla, la agregamos al IDE de Arduino, para saber cómo hacerlo revisen el tutorial ¿Cómo añadir una librería en Arduino?
Seguidamente, abrimos el ejemplo Simple de nuestra librería CommanDuino, que acabamos de añadir y lo cargamos al Arduino. Si tenemos el circuito implementado correctamente, se puede ver que el led del módulo parpadea de forma rápida, lo cual quiere decir que no está emparejado con ningún otro dispostivo bluetooth.

A continuación, activamos el bluetooth de nuestro dispositivo móvil y lo vinculamos con el módulo bluetooth (si es que no está vinculado), para ello buscamos el módulo bluetooth con el que se va a vincular e ingresamos la clave. La clave es de 4 dígitos y por defecto es 1111 o 1234. Sin embargo, para configurar el módulo bluetooth y cambiar sus parámetros revisen los tutoriales antes mencionados: configuración de un módulo bluetooth esclavo o configuración de un módulo bluetooth maestro/esclavo. 





























Después de vincularlos, abrimos la aplicación y al presionar el botón CONNECT se abrirá una lista de los dispositivos disponibles, buscamos el módulo bluetooth con el que se va a emparejar y lo seleccionamos.



En este punto, se puede ver que el LED empieza a parpadear más lentamente, o no parpadea, lo que indica que se ha emparejado con nuestro dispositivo móvil. Igualmente, en la aplicación se mostrará una tarjeta Arduino, lo que nos indica lo mismo, que ya estamos emparejados con Arduino.





En el código se puede ver que se han incluido las librerías SoftwareSerial.h y CommanDuino.h; además, antes del la función setup() se debe crear una instancia de clase CommanDuino, la que nos permitirá usar las funciones de la librería. Esta librería tiene 3 funciones, CDsetting(), command() y CDreceiveChar().

Dentro de la función setup se debe llamar a la función CDsetting() para iniciar la comunicación por bluetooth. Se utilizan los pines digitales 2 y 3 para la comunicación.
Ya en el loop, es necesario llamar a la función command(), la cual nos permite comandar nuestra tarjeta Arduino, es decir es la que realiza las instrucciones recibidas por bluetooth.

Por último, la función CDreceiveChar() permite que Arduino reciba por bluetooth un caracter, de tipo char (obvio). En este ejemplo no se usará la función CDreceiveChar() ya que no es necesario; sin embargo, en este tutorial se puede ver un ejemplo con el uso de esta función.



Código


#include <SoftwareSerial.h> // libreria para la comunicacion bluetooth
#include <CommanDuino.h>    // libreria para el control de Arduino 
                            // a traves de la aplicacion CommanDuino

// Se crea una instancia de la clase CommanDuino llamada App 
// para llamar al constructor.
// El constructor es una funcion que configura los pines para // la comunicación bluetooth, en este caso los 
// pines digitales 2 y 3.
CommanDuino App;

void setup(){
  App.CDsetting();   // Inicia la comunicacion por bluetooth
}

void loop(){
  App.command();    // permite comandar la tarjeta Arduino
}
////////////////////////////////////////////////////////////////////

Bien, la aplicación es muy intuitiva, fácil de usar y funciona de la siguiente manera:

Si queremos configurar un pin, simplemente lo seleccionamos y se abrirá un cuadro de 
opciones. Con las opciones podremos elegir si queremos que sea un pin de entrada o de salida.
Al seleccionar un pin, este se encenderá de color amarillo. Luego de elegir las opciones de configuración y pulsar el botón ok, el pin cambiará de color.
Si configuramos un pin como entrada, este se encenderá de color azul; si lo configuramos como salida, debemos elegir si queremos que tenga una salida digital o una onda PWM (si el pin puede recibir señales PWM ). Si queremos que tenga una salida digital y colocamos el pin en alta (HIGH), se encenderá de color rojo; si lo colocamos en baja (LOW), se encenderá de color gris y si lo configuramos como PWM se encenderá de color rojo en forma de una onda cuadrada.

Adicionalmente, se tiene la opción Send Data, con la cual se puede enviar un caracter al Aduino. Esto sirve si queremos que el Arduino realice una tarea al recibir un determinado caracter.

En este ejemplo simple vamos a usar esta aplicación para encender y apagar el LED que se encuentra conectado al pin digital 13. De la misma manera con el led verde que está conectado al pin 11, pero esta vez usando una salida PWM se cambiará la intensidad del LED al cambiar el nivel de la señal PWM.


























Eso sería todo con respecto de este ejemplo simple con el que se ha aprendido a usar la aplicación Commanduino. Pueden conectar otros dispositivos, sensores o motores al Arduino y controlarlos desde su móvil.
Para entender mejor el uso de la función CDreceiveChar(), revisen el tutorial Elección de melodías por Bluetooth.


No hay comentarios.:

Publicar un comentario