Arduino Bluetooth

33
Arduino Bluetooth A73529 Sebastián León Calderón

description

Arduino Bluetooth. A73529 Sebasti án León Calderón. Agenda. Introducción a Arduino. Arduino BT y Arduino + BT Ambiente de desarrollo y lenguaje de programaci ón Requerimientos y primeros pasos Ventajas y debilidades Relación con otras plataformas Enlazando Arduino con Android - PowerPoint PPT Presentation

Transcript of Arduino Bluetooth

Page 1: Arduino Bluetooth

Arduino BluetoothA73529 Sebastián León Calderón

Page 2: Arduino Bluetooth

Agenda

1. Introducción a Arduino.2. Arduino BT y Arduino + BT3. Ambiente de desarrollo y lenguaje de programación4. Requerimientos y primeros pasos5. Ventajas y debilidades6. Relación con otras plataformas7. Enlazando Arduino con Android8. Ejemplos prácticos

Page 3: Arduino Bluetooth

INTRODUCCIÓN A ARDUINOArduino Bluetooth: Tema 1

Page 4: Arduino Bluetooth

Introducción: el qué• “Arduino” es:• una plataforma computacional basada en una tarjeta de micro-

controlador,• el lenguaje empleado para la programación de dicho micro-

controlador, y• el IDE que facilita la programación en ese lenguaje.

• En la vida real, “Arduino” se refiere a las tarjetas de micro-controlador.

• Arduino es completamente open-source.

Page 5: Arduino Bluetooth

Introducción: el para qué

¿Para qué sirve?• Enlazar dispositivos electrónicos.• Realizar procesamiento:• Dispositivos sensores ofrecen estímulos.• Micro-controlador procesa estímulos y calcula reacciones.• Reacciones son llevadas a la práctica por dispositivos actuadores.

• Construir cosas “divertidas”.• ¿Floppy drives haciendo música?• ¡Bots, bots, bots!

Page 6: Arduino Bluetooth

Video: floppy music• http://www.youtube.com/watch?v=AzmmDRDwHIk

Page 7: Arduino Bluetooth

Introducción: el cómo• Diferentes modelos contienen diferentes partes.• El modelo BT incorpora un módulo Bluetooth.• Partes notables:• Micro-controlador (ATmega328).• Memoria flash (32 KB).• SRAM (2 KB).• Pines digitales de entrada/salida (14).• Pines analógicos de entrada (6, resolución de 10 bits).• El módulo Bluetooth (Bluegiga WT11).

• En lugar del adaptador USB típico de los otros modelos.

Page 8: Arduino Bluetooth

ARDUINO BT Y ARDUINO + BTArduino Bluetooth: Tema 2

Page 9: Arduino Bluetooth

Arduino BT• Modelo comercial oficial.• Precio ronda los $100 en Amazon :S• Módulo BT se comunica con el micro-controlador por serial

(pines RX y TX de la tarjeta) .• Módulo BT se comunica con otros dispositivos vía Bluetooth a

115200 baud.• No posee adaptador USB.• Puede programarse inalámbricamente por Bluetooth.

Page 10: Arduino Bluetooth

Arduino + BT• Construido típicamente de dos formas:• agregando un Bluetooth Shield a una tarjeta Arduino, o• Conectando un módulo Bluetooth a una tarjeta Arduino.

• Precio se acerca a los $50 ($30 por la tarjeta y $20 por el shield o módulo BT).

• Módulo BT se comunica con otros dispositivos por Bluetooth a varias frecuencias (usualmente 57600 o 115200 baud), según las especificaciones del módulo.

• Programación se realiza por USB.• Acercamiento más frecuentemente usado

Page 11: Arduino Bluetooth

AMBIENTE DE DESARROLLO YLENGUAJE DE PROGRAMACIÓN

Arduino Bluetooth: Tema 3

Page 12: Arduino Bluetooth

Lenguaje de programación• También 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()

Page 13: Arduino Bluetooth

L. de programación (cont.)

Función setup():• Se ejecuta una vez justo después de arrancar el micro-

controlador.• Contiene la configuración inicial, por ejemplo:• marcar pines para entrada o salida,• definir la frecuencia de modulación, o• agregar interrupciones a pines.

Función loop():• “Lo que hace el sketch.”• Ciclo de ejecución hasta el apagado o reinicio.• Contenido corresponde a una iteración en el ciclo de sensar-

procesar-actuar.

Page 14: Arduino Bluetooth

Ambiente de desarrollo• Llamado Arduino IDE para claridad.• Escrito en Java.• Simple y fácil de utilizar.• Orientado fuertemente a usuarios no familiarizados con la

programación.• Ofrece compilación y carga del sketch todo-en-un-botón.• Incluye algunas conveniencias como auto-indentación y pareo

de llaves.• Completamente ad hoc a la programación de Arduino.• Agrega automágicamente las referencias y funciones

requeridas para que el sketch se convierta en un programa C++ válido (por ejemplo, el main y el include a ).

Page 15: Arduino Bluetooth

Ambiente de desarrollo (cont.)• No es estrictamente requerido.• Por debajo emplea el compilador avr-g++.

Page 16: Arduino Bluetooth

REQUERIMIENTOS Y PRIMEROS PASOSArduino Bluetooth: Tema 4

Page 17: Arduino Bluetooth

Requerimientos• Como mínimo:• 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.

• Además ocupa un cable USB (A a B) en todos los otros casos.• El Arduino IDE (viene con el lenguaje de programación).• Alimentación eléctrica.

• Además:• Todos los dispositivos electrónicos que interese usar como

actuadores y sensores.• Un protoboard para facilitar la conexión de dispositivos.

Page 18: Arduino Bluetooth

Primeros pasos

1. Aparear el módulo Bluetooth con la computadora.• Sólo si se tiene el Arduino BT.

2. Indicar en el IDE cuál tarjeta se utiliza.• Arduino BT sólo si se tiene el Arduino BT.

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

Page 19: Arduino Bluetooth

VENTAJAS Y DEBILIDADESArduino Bluetooth: Tema 5

Page 20: Arduino Bluetooth

Ventajas: Arduino• IDE y lenguaje son fáciles de usar y aprender.• Tarjetas Arduino son económicas ($30 o menos).• Software es open-source e independiente de la plataforma.• Hardware es open-source.• Permite hacer todo tipo de cosas divertidas.

Page 21: Arduino Bluetooth

Ventajas: Arduino BT• Programación a distancia sin cable USB.• Sistema puede controlarse remotamente.• No requiere de módulos o dispositivos adicionales para

ofrecer la funcionalidad inalámbrica.

Page 22: Arduino Bluetooth

Debilidades: Arduino BT• La Arduino BT es más frágil que otras tarjetas.• Programación requiere de una computadora con capacidad

Bluetooth.• El micro-procesador es más pequeño que en otras tarjetas y

por tanto incompatible.• Notoriamente más cara que la tarjeta Arduino promedio.

Estas debilidades pueden atacarse mediante el uso de Arduino + BT.

Page 23: Arduino Bluetooth

RELACIÓN CON OTRAS PLATAFORMASArduino Bluetooth: Tema 5

Page 24: Arduino Bluetooth

Con dispositivos electrónicos• El objetivo de Arduino es la interconectividad y control de

múltiples dispositivos electrónicos.• Conectividad se ofrece a través de los pines análogicos y

digitales.• A través de Arduino es más fácil realizar tareas complejas que

requieren de la interacción entre sensores y actuadores.• La lógica de percepción y acción es incorporada a priori

mediante el código cargado en la tarjeta.

Page 25: Arduino Bluetooth

Con dispositivos móviles• El módulo Bluetooth extiende la funcionalidad de Arduino y

permite conectividad con dispositivos móviles.• La lógica puede incorporarse “en caliente” mediante el envío y

recepción de señales por Bluetooth.• Usos frecuentes:• Controles remotos.• Recolección de datos del ambiente y presentación al usuario.

• El mecanismo de transmisión de información y la interpretación de señales son lo único que requiere codificarse.

• Existen esfuerzos, como Amarino, por ofrecer al usuario el paquete prefabricado.

Page 26: Arduino Bluetooth

ENLAZANDO ARDUINO CON ANDROIDArduino Bluetooth: Tema 7

Page 27: Arduino Bluetooth

¿Cómo se hace?• Forma fácil (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 familiarización con el API.

• Forma no-tan-fácil (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 más de “trabajo sucio”.

Page 28: Arduino Bluetooth

¿Qué se requiere?• Los componentes electrónicos anteriores• Un smartphone o tablet con capacidad Bluetooth y corriendo

al menos Eclair (prácticamente cualquiera).• AmarinoLibrary.jar para la forma fácil.• ¡Ganas!

Page 29: Arduino Bluetooth

Ejemplo: por AmarinoLado Amarino Lado Android

Page 30: Arduino Bluetooth

EJEMPLOS PRÁCTICOSArduino Bluetooth: Tema 8

Page 31: Arduino Bluetooth

Ejemplos prácticos• ¡Bots, bots, bots!

1. Compre un carro de juguete a control remoto.2. Remplace el módulo de control con una tarjeta Arduino.3. Escriba una aplicación para Android con controles de dirección

y aceleración.4. ???5. Profit.

• Guantes para control remoto.• Impresión a distancia en LCDs.• Todo tipo de wacky fun stuff.

Page 32: Arduino Bluetooth

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

Page 33: Arduino Bluetooth

Referencias• Kaufmann, Bonifaz. “Design and Implementation of a Toolkit fr

the Rapid Prototyping of Mobile Ubiquitous Computing.” Tesis de maestría. Universidad de Kalgenfurt. Agosto 2010.

• Documentación oficial Arduino BT. En línea:http://www.arduino.cc/en/Main/ArduinoBoardBluetooth.• Documentación oficial Amarino. En línea:http://www.amarino-toolkit.net/index.php• Varios autores. “Communication Between Android And

Arduino With Bluetooth”. En línea:http://www.elecfreaks.com/677.html