Professional Documents
Culture Documents
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
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.
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 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
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 ).
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.
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.
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.
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.
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.
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!
Lado Android
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