Arduino es una plataforma de control, con grandes funcionalidades a un coste muy asequible. Mediante Domino (el firmware proporcionado por OpenDomo), es posible realizar una gran variedad de operaciones de control de entrada/salida y automatización, de forma rápida e intuitiva. Esta página alberga la información principal relacionada con este programa y sus funciones, desde los primeros pasos a realizar hasta la referencia de los comandos soportados, así como algunos consejos para los principiantes.
Antes de empezar a explicar el funcionamiento del firmware de OpenDomo para Arduino, es necesario conocer algunos detalles sobre el funcionamiento de Arduino, por lo que es aconsejable dar un paseo por la web del proyecto. En todo caso, añadiremos una breve reseña sobre algunas de las características más importantes.
Puertos: el modelo Duemilanove, usado en el desarrollo, dispone de dos grupos de puertos: 14 digitales y 6 analógicos. Los analógicos son exclusivamente de entrada, mientras que los digitales pueden ser configurados tanto de entrada como de salida. También es posible configurarlos para actuar como PWM (algo parecido a una salida analógica), aunque no entraremos en detalle por su complejidad.
Comunicación: existe un bus serie que nos permitirá controlar Arduino desde OpenDomo. En el caso de Duemilanove este bus serie está conectado al puerto USB, y ocupa los puertos 0 y 1 para el envío y recepción de datos respectivamente, por lo que estos puertos no podrán ser usados para conectar sensores o activadores.
Configuración: para conservar la configuración de los puertos después de cada reinicio (por corte de suministro eléctrico o al desconectar y volver a conectar físicamente el cable USB), el chip ATMEGA (el corazón de Arduino) contiene una pequeña memoria EEPROM.
Recursos: hay que tener presente los limitados recursos del procesador, con apenas 1KB de SRAM, 16KB de espacio para el programa y 16MHz de velocidad de proceso.
Para empezar a trabajar con Arduino deberemos descargar el SDK del fabricante e instalarlo siguiendo las instrucciones. Hecho esto, deberemos arrancarlo y configurar la ruta donde deberá buscare el firmware para OpenDomo, mediante el menú "File" -> "Preferences". La ruta deberá finalizar en el directorio "... opendomo-control/arduino".
Este firmware se encuentra dentro de la ruta opendomo-control/arduino/firmware, incluida en los fuentes del proyecto, pero puede ser descargado directamente mediante el siguiente comando:
# svn checkout http://opendomo.googlecode.com/svn/trunk/opendomo-control/arduino/ opendomo-arduino
También es posible descargar directamente el archivo PDE desde este enlace, guardándolo en el directorio de trabajo deseado.
Para poder verificar el funcionamiento necesitaremos un programa de terminal; en Windows tenemos Hyperterminal (que funcionará de sobras, una vez tengamos instalado el controlador del fabricante) y para Linux podemos usar GtkTerm.
Actualización: a partir de la versión 21 del SDK de Arduino, ya no es necesario recurrir a un programa adicional para conectar con Domino, ya que la consola incorporada en el propio programa facilita mucho las cosas. Simplemente hay que tener presente activar LF y CR como fin de línea (opción debajo del cuadro de consola).
Para conocer los detalles de funcionamiento de Domino, consulta su Manual de referencia.
Una de las grandes ventajas de Domino es que, a pesar de los escasos recursos de este dispositivo, mantenemos separado el software de la configuración. Esto significa que no es necesario emplear las herramientas de desarrollo de esta plataforma para ajustar la programación a nuestras necesidades, además de permitir actualizaciones sin perder la configuración realizada.
Tal como podemos ver en el manual de referencia, esta configuración se lleva a cabo mediante comandos fáciles de recordar, y que multiplican las posibilidades reales de control del dispositivo, aportando la máxima flexibilidad.
Recent comments
3 hours 21 min ago
12 hours 10 min ago
20 hours 55 min ago
21 hours 47 min ago
1 day 7 min ago
1 day 10 hours ago
1 day 12 hours ago
2 days 14 hours ago
6 days 18 hours ago
6 days 18 hours ago