You are on page 1of 33

Arduino Bluetooth

A73529 Sebastin Len Caldern

Agenda
1. 2. 3. 4. 5. 6. 7. 8. Introduccin a Arduino. Arduino BT y Arduino + BT Ambiente de desarrollo y lenguaje de programacin Requerimientos y primeros pasos Ventajas y debilidades Relacin con otras plataformas Enlazando Arduino con Android Ejemplos prcticos

Arduino Bluetooth: Tema 1

INTRODUCCIN A ARDUINO

Introduccin: el qu
Arduino es:
una plataforma computacional basada en una tarjeta de microcontrolador, el lenguaje empleado para la programacin de dicho microcontrolador, y el IDE que facilita la programacin en ese lenguaje.

En la vida real, Arduino se refiere a las tarjetas de microcontrolador. Arduino es completamente open-source.

Introduccin: el para qu
Para qu sirve? Enlazar dispositivos electrnicos. Realizar procesamiento:
Dispositivos sensores ofrecen estmulos. Micro-controlador procesa estmulos y calcula reacciones. Reacciones son llevadas a la prctica por dispositivos actuadores.

Construir cosas divertidas.


Floppy drives haciendo msica? Bots, bots, bots!

Video: floppy music


http://www.youtube.com/watch?v=AzmmDRDwHIk

Introduccin: el cmo
Diferentes modelos contienen diferentes partes. El modelo BT incorpora un mdulo Bluetooth. Partes notables:
Micro-controlador (ATmega328). Memoria flash (32 KB). SRAM (2 KB). Pines digitales de entrada/salida (14). Pines analgicos de entrada (6, resolucin de 10 bits). El mdulo Bluetooth (Bluegiga WT11).
En lugar del adaptador USB tpico de los otros modelos.

Arduino Bluetooth: Tema 2

ARDUINO BT Y ARDUINO + BT

Arduino BT
Modelo comercial oficial. Precio ronda los $100 en Amazon :S Mdulo BT se comunica con el micro-controlador por serial (pines RX y TX de la tarjeta) . Mdulo BT se comunica con otros dispositivos va Bluetooth a 115200 baud. No posee adaptador USB. Puede programarse inalmbricamente por Bluetooth.

Arduino + BT
Construido tpicamente de dos formas:
agregando un Bluetooth Shield a una tarjeta Arduino, o Conectando un mdulo Bluetooth a una tarjeta Arduino.

Precio se acerca a los $50 ($30 por la tarjeta y $20 por el shield o mdulo BT). Mdulo BT se comunica con otros dispositivos por Bluetooth a varias frecuencias (usualmente 57600 o 115200 baud), segn las especificaciones del mdulo. Programacin se realiza por USB. Acercamiento ms frecuentemente usado

Arduino Bluetooth: Tema 3

AMBIENTE DE DESARROLLO Y LENGUAJE DE PROGRAMACIN

Lenguaje de programacin
Tambin llamado Arduino. En realidad es C/C++. Consiste en un conjunto de funciones predefinidas empacadas en una biblioteca llamada Wiring . Programadores pueden proveer sus propias funciones. Un programa se conoce como sketch. Algunas funciones notables:
setup() loop() digitalWrite() digitalRead() delay() attachInterrupt()

L. de programacin (cont.)
Funcin setup(): Se ejecuta una vez justo despus de arrancar el microcontrolador. Contiene la configuracin inicial, por ejemplo:
marcar pines para entrada o salida, definir la frecuencia de modulacin, o agregar interrupciones a pines.

Funcin loop(): Lo que hace el sketch. Ciclo de ejecucin hasta el apagado o reinicio. Contenido corresponde a una iteracin en el ciclo de sensarprocesar-actuar.

Ambiente de desarrollo
Llamado Arduino IDE para claridad. Escrito en Java. Simple y fcil de utilizar. Orientado fuertemente a usuarios no familiarizados con la programacin. Ofrece compilacin y carga del sketch todo-en-un-botn. Incluye algunas conveniencias como auto-indentacin y pareo de llaves. Completamente ad hoc a la programacin de Arduino. Agrega automgicamente las referencias y funciones requeridas para que el sketch se convierta en un programa C++ vlido (por ejemplo, el main y el include a ).

Ambiente de desarrollo (cont.)


No es estrictamente requerido. Por debajo emplea el compilador avr-g++.

Arduino Bluetooth: Tema 4

REQUERIMIENTOS Y PRIMEROS PASOS

Requerimientos
Como mnimo:
Tarjeta Arduino BT o alguna forma de Arduino + BT. Una computadora corriendo Windows, Mac OS o Linux.
Esta computadora debe tener capacidad BT para usarla con Arduino BT. Adems ocupa un cable USB (A a B) en todos los otros casos.

El Arduino IDE (viene con el lenguaje de programacin). Alimentacin elctrica.

Adems:
Todos los dispositivos electrnicos que interese usar como actuadores y sensores. Un protoboard para facilitar la conexin de dispositivos.

Primeros pasos
1. Aparear el mdulo Bluetooth con la computadora.
Slo si se tiene el Arduino BT.

2. Indicar en el IDE cul tarjeta se utiliza.


Arduino BT slo si se tiene el Arduino BT.

3. Instalar los drivers. 4. Empezar a programar!

Arduino Bluetooth: Tema 5

VENTAJAS Y DEBILIDADES

Ventajas: Arduino
IDE y lenguaje son fciles de usar y aprender. Tarjetas Arduino son econmicas ($30 o menos). Software es open-source e independiente de la plataforma. Hardware es open-source. Permite hacer todo tipo de cosas divertidas.

Ventajas: Arduino BT
Programacin a distancia sin cable USB. Sistema puede controlarse remotamente. No requiere de mdulos o dispositivos adicionales para ofrecer la funcionalidad inalmbrica.

Debilidades: Arduino BT
La Arduino BT es ms frgil que otras tarjetas. Programacin requiere de una computadora con capacidad Bluetooth. El micro-procesador es ms pequeo que en otras tarjetas y por tanto incompatible. Notoriamente ms cara que la tarjeta Arduino promedio. Estas debilidades pueden atacarse mediante el uso de Arduino + BT.

Arduino Bluetooth: Tema 5

RELACIN CON OTRAS PLATAFORMAS

Con dispositivos electrnicos


El objetivo de Arduino es la interconectividad y control de mltiples dispositivos electrnicos. Conectividad se ofrece a travs de los pines anlogicos y digitales. A travs de Arduino es ms fcil realizar tareas complejas que requieren de la interaccin entre sensores y actuadores. La lgica de percepcin y accin es incorporada a priori mediante el cdigo cargado en la tarjeta.

Con dispositivos mviles


El mdulo Bluetooth extiende la funcionalidad de Arduino y permite conectividad con dispositivos mviles. La lgica puede incorporarse en caliente mediante el envo y recepcin de seales por Bluetooth. Usos frecuentes:
Controles remotos. Recoleccin de datos del ambiente y presentacin al usuario.

El mecanismo de transmisin de informacin y la interpretacin de seales son lo nico que requiere codificarse. Existen esfuerzos, como Amarino, por ofrecer al usuario el paquete prefabricado.

Arduino Bluetooth: Tema 7

ENLAZANDO ARDUINO CON ANDROID

Cmo se hace?
Forma fcil (usando Amarino)
Incluye un API listo para empezar a enviar y recibir datos por Bluetooth hacia y desde el dispositivo. Basta con agregar la referencia a la biblioteca en la carpeta libs. Requiere de algo de familiarizacin con el API.

Forma no-tan-fcil (manualmente)


Requiere algunas inclusiones de las biblioteca de Bluetooth de Android agregadas en el API 5:
android.bluetooth.BluetoothAdapter; android.bluetooth.BluetoothDevice; android.bluetooth.BluetoothSocket;

Hay que hacer un poco ms de trabajo sucio.

Qu se requiere?
Los componentes electrnicos anteriores Un smartphone o tablet con capacidad Bluetooth y corriendo al menos Eclair (prcticamente cualquiera). AmarinoLibrary.jar para la forma fcil. Ganas!

Ejemplo: por Amarino


Lado Amarino

Lado Android

Arduino Bluetooth: Tema 8

EJEMPLOS PRCTICOS

Ejemplos prcticos
Bots, bots, bots!
1. 2. 3.
4. 5.

Compre un carro de juguete a control remoto. Remplace el mdulo de control con una tarjeta Arduino. Escriba una aplicacin para Android con controles de direccin y aceleracin. ??? Profit.

Guantes para control remoto. Impresin a distancia en LCDs. Todo tipo de wacky fun stuff.

Videos!
Multicolor Lamp: http://www.youtube.com/watch?v=GiibMA_H9rs Carro a control remoto: http://www.youtube.com/watch?v=9nYXe_Xbyns Tanque: http://www.youtube.com/watch?v=0LMrxtlpBQk Matriz de LED: http://www.youtube.com/watch?v=p9FpVXjAojY

Referencias
Kaufmann, Bonifaz. Design and Implementation of a Toolkit fr the Rapid Prototyping of Mobile Ubiquitous Computing. Tesis de maestra. Universidad de Kalgenfurt. Agosto 2010. Documentacin oficial Arduino BT. En lnea: http://www.arduino.cc/en/Main/ArduinoBoardBluetooth. Documentacin oficial Amarino. En lnea: http://www.amarino-toolkit.net/index.php Varios autores. Communication Between Android And Arduino With Bluetooth. En lnea: http://www.elecfreaks.com/677.html

You might also like