Archivos de la categoría ‘Arduino’

h1

Implantando el sistema (I) Reles

10 Mayo 2009

Ya tenemos nuestra librería funcionando y probada en un entorno de pruebas (veáse la maqueta que he realizado).

Maqueta de OpenDomotica

Ahora es el momento de probar nuestro sistema en un entorno real, controlando elementos domóticos que es para lo que se ha desarrollado esta librería. Por tanto y gracias a algunos comentarios que han dejado los lectores en el blog, voy a utilizar un rele que se encargará de encender y apagar una luz.

Buscando un poco de información me he encontrado que esto ya lo ha hecho alguien y que nos lo ha puesto disponible a la comunidad. Por ello avanzo bastante más rápido. Aquí tenéis el ejemplo que hablo:

http://www.arduino.cc/es/Tutoriales/Rele

Como véis en el ejemplo mediante el pin 8 de Arduino controlan el rele, cerrando o abriendo el circuito, o lo que es lo mismo encendiendo o apagando la bombilla. Con este pequeño circuito, Mister House y las librerías de opendomotica tenemos listo nuestro primer escenario real.

Ahora sólo queda tener un hueco libre para ir a comprar los elementos y grabar las primeras pruebas.

h1

Maneja mi maqueta on-line

22 Abril 2009

Bueno, después de tanto anunciar la “gran sorpresa”, ¡aquí la tenéis!
Que yo controle a través de arduino las luces, no es suficiente, quiero demostraros que vosotros mismos podéis hacerlo y que es realmente sencillo. Esto quizá os certifique lo fácil que puede llegar a ser tener tu propio sistema domótico y controlar las luces de toda tu casa estando en cualquier lugar con acceso a internet. Para ello he montado esta pequeña maqueta y tenéis acceso para encender y apagar las luces que queráis, os invito a que manejéis mi maqueta estéis donde estéis. Me sentiré gratificado viendo los leds de encenderse y apagarse.

He instalado aquí en mi casa la maqueta y he lanzado Mister House con mis librerías, tengo una camara web enfocando a la maqueta y podréis ver los cambios en las luces al manejar la casa con Mister House.

La dirección es: http://opendomotica.no-ip.biz/ a la derecha se encuentra Mister House y a la izquierda una foto que se actualiza más o menos cada 2 segundos el estado de la maqueta.

Para los que no conozcan Mister House pueden empezar a utilizarlo rápidamente dandole a Lights Aplicances > FloorPlan View y pinchando encima de la bombilla correspondiente que queramos enceder o apagar.

Dejaré el ordenador encendido con la maqueta para que podáis utilizarlo, espero que no se vaya la luz.

Un saludo a todos y espero vuestros comentarios.

ACTUALIZADO (23/4/2009): La exposición de la maqueta ha sido todo un éxito, no hace ni 24 horas de la publicación y ya hay 135 personas que la han manejado. Las impresiones de la gente parecen muy buenas, hay mucha gente interesada, a todos gracias.

ACTUALIZADO (28/04/2009): He apagado la maqueta después de casi una semana, los resultados han sido bastante buenos, aprovecho para seguir avanzando ahora. Si alguien quiere verla en funcionamiento, que me escriba que se la pongo encantado.

h1

Librería de interconexión V1.0

27 Marzo 2009

Ya está aquí, tanto la librería de Arduino como la de Mister House, además de una configuración inicial de una casa utilizando integramente Arduino.

La dirección de la descarga es:

http://forja.rediris.es/frs/download.php/1210/Libreria-V1.0.zip

Y podéis encontrar las siguientes carpetas:

  • Arduino: donde se encuentra la librería con la que se debe programar a Arduino.
  • MisterHouse: donde se encuentran los directorios:
    • bin:  se encuentra mh.private.ini como se comentaba en el manual de Mister House este archivo es de configuración.  Además de otros parámetros se define el puerto al que estará conectado Arduino.
    • code: se encuentra una esquema de una casa controlado con un sólo Arduino.
    • lib: se encuentra la libería necesaria para la conexión entre Mister House y Arduino.
  • Programación de Arduino:  se encuentra un ejecutable llamado instalador, que se encarga de programar el Arduino indicando la configuración necesaria previamente realizada con Mister House.

Me gustaría hacer un manual detallado de instalación un poco más ilustrado.

Espero las impresiones :)

h1

¡Primeros resultados!

15 Marzo 2009

Después de meses de duro trabajo, el primer led que me guiña y prometo que el led más bonito que haya brillado nunca :D   Aquí tenéis un video de lo que seremos capaces de hacer de aquí a unas semanas que estén totalmente listas las librerías, me gustaría publicar una versión alpha en breve.

Este primer vídeo muestra un led conectado a arduino, y arduino por puerto serie al ordenador, donde está Mister House esperando para enviarle señales.

En este segundo vídeo utilizo una internet tablet N770 para enfatizar en uno de los motivos que nos llevaron a decantarnos por Mister House, su interfaz gráfica. Como vemos se puede controlar perfectamente desde este tipo de elementos, dando una comodidad efectiva.

Decir también que estoy trabajando en un manual introductorio de Mister House, llevo trabajando en él desde hace ya algún tiempo, espero tenerlo listo para esta semana.

h1

Arduino (IV) Tipos de conexión

15 Febrero 2009

En época de exámenes queda poco tiempo para el proyecto, pero he sacado algún hueco para hacer un pequeño repaso por los tipos de comunicación que podemos establecer con un arduino.

Anteriormente hemos hecho un repaso por los distintos tipos de Arduino que existen y atendiendo a su clasificación vemos que la diferencia más destacable entre ellos es el método de conexión del que disponen. Por lo tanto atendiendo a el tipo de conexión nos encontramos estos tipos de comunicación entre otros:

  • USB
  • Puerto serie
  • Bluetooth
  • Ethernet
  • Zigbee

Para el proyecto que desarrollamos, vamos a utilizar el puerto serie.

h1

Arduino (III) Gama de Arduinos

8 Febrero 2009

Unas entradas atrás (http://opendomotica.wordpress.com/2009/01/18/arduino-i-porque-arduino-duemilanove/) tuve que hacer la decisión de cual de las distintos modelos de Arduino elijiría para el proyecto. Como ya dije me quedé con el Duemilanove. En la decisión nombre a los Arduino que había analizado por eso he considerado importante recopilarlos a todos en un documento poniendo una pequeña descripción junto con una foto. La he subido a la forja, aquí dejo la dirección:

http://forja.rediris.es/frs/download.php/1110/GamaArduinos.pdf

h1

Arduino (II) Empezando con Arduino.

1 Febrero 2009

Como es habitual cuando estamos aprendiendo un lenguaje de programación, compilamos nuestro primer programa como un “Hola mundo”, en esta ocasión para que Arduino me salude hice parapadear un Led. No publico su código porque está en la documentación de Arduino. Ahora voy a presentaros alguna de las funciones que me acompañarán a lo largo del proyecto, estas son las funciones para utilizar el puerto serie.

En primer lugar Arduino requiere unos requisitos necesarios, una instalación para empezar a recibir/enviar información codificada en ASCII. Esta instalación no es más que indicar el número de puerto de comunicaciones que estamos utilizando y la velocidad de transferencia en baudios (enlace). Esta instalación se hace utilizando la función Serial.begin(velocidad de transferencia en baudios).

Enviando por puerto serie

Para enviar, después de haber preparado todo para la comunicación sólo tenemos que utilizar las funciones Serial.print(VAR), para enviar por puerto serie lo que se encuentre en la variable VAR.

Aquí un ejemplo básico:

int interruptor = 0; // inturruptor conectado al pin 0
//Instalacion
void setup() {
  pinMode(interruptor, INPUT);  // pin 0 como entrada
  Serial.begin(9600);         // empieza la comunicacion a 9600bps
}
void loop() {
  if(digitalRead(interruptor) == HIGH)  // si el interruptor esta ON
  {
    Serial.print(1);                  // envia 1
  }else{
    Serial.print(0);                  // en otro caso envia 0
  }
  delay(100);                         // espera 100ms
}

Este programa enviará 1 si el interruptor esta cerrado y 0 si el interruptor está cerrado.

Recibiendo por puerto serie

Para recibir, al igual que con cualquier operación que requiera el uso del puerto serie, después de iniciar la comunicación tendremos todo listo para usarlo. Ya sólo tenemos que utilizar la función Serial.read() para leer el puerto.

Aquí un ejemplo básico:

int ledpin = 1;
//Instalacion
void setup() {
  pinMode(ledpin, OUTPUT);  // pin como salida
  Serial.begin(9600);       // empieza la comunicacion a 9600bps
}
void loop() {
  char val;
  if( Serial.available() )       // si la informacion esta lista para leer
  {
    val = Serial.read();         // leerla y guardarla en 'val'
  }
  if( val == 'A' )               // si 'A' es recibido
  {
    digitalWrite(ledpin, HIGH);  // enciende el led
  } else {
    digitalWrite(ledpin, LOW);   // en otro caso apagala
  }
  delay(100);                    // espera 100ms
}

Este programa lee el puerto serie y si recibe una A, encenderá el led en otro caso lo apagará.

Para descargar los programas aquí:

http://forja.rediris.es/frs/download.php/1091/enviandoPuertoSerie.pde

http://forja.rediris.es/frs/download.php/1092/recibiendoPuertoSerie.pde

h1

Arduino (I) Por qué Arduino Duemilanove

18 Enero 2009

Como se comentó en los objetivos del proyecto, las ventajas de utilizar Arduino es que es un elemento barato, basado en software libre y que tiene una amplia documentación y comunidad a sus espaldas.

Debido a su precio podemos realizar montajes sin mucho coste económico, uno de los factores más importantes a la hora de realizar un proyecto es asegurarse de que su fabricación es factible y con Arduino lo tenemos cubierto.

Su filosofía software libre hace que haya una comunidad activa a nivel mundial desarrollando, corrigiendo y cooperando porque este elemento mejore día a día. Esto nos da la fiabilidad de que tenemos asegurado que va a perdurar con el tiempo.

Todo esto hace que Arduino sea elemento ideal para la comunicación con el PC.

Una vez hemos elegido el elemento que nos hará de conexión entre el PC y el entorno domótico, el proyecto quedaría de la siguiente manera.

PC - X10 - Arduino

Una vez ya tenemos elegido que vamos a utilizar Arduino, ahora llega otra tarea de decisión, ¿cúal de ellos elegir? Y es que nos encontramos una larga lista de gamas y modelos de Arduinos.

  • Arduino Diecimila
  • Arduino Duemilanove
  • Arduino con una placa para prototipos
  • Arduino Bluetotth
  • Stand-alone (Autónomo)
  • Arduino Mini
  • Arduino Nano

Dado que buscamos un elemento baráto hemos dejado de lado al Arduino Bluetooth ya que es el más elevado. Desechamos también el Arduino Mini y el Nano, por lo menos de momento ya que su funcionalidad es la misma que el Duemilanove, pero a la hora de trabajar son más laboriosos debido a su tamaño. Con ello nos quedamos con el Dicimila, Duemilanove y la placa de prototipos. Como no necesitamos diseñar prototipos nos vamos a quedar con Duemilanove porque es la última versión de Arduino.

Estas decisiones son necesarias a la hora de desarrollar el proyecto, aunque una vez terminado con cualquiera de las versiones de Arduino serían válidas.

En breve subiré a la forja una descripción característica de cada uno de estos modelos junto con una foto. Además de todo lo que he aprendido de X10. Sólo necesito un poco de tiempo para dejarlo presentable, espero que no tarde mucho.

h1

Qué tenemos, qué nos falta

11 Enero 2009

Es hora de decir que tenemos y hacía donde vamos.

Hasta ahora he conseguido estudiar el protocolo X10 con una profundidad suficiente, por lo que ha llegado el momento de empezar a estudiar Perl y familiarizarme con Arduino, las bases de nuestro sistema domótico. Para ello he aprovechado estas 2 semanas.

En primer lugar he leido un tutorial sobre Perl y he empezado a hacer mis primeros avances. Si bien sólo acabo de empezar, he pedido un libro a Amazon para hacer un análisis más extenso de este lenguaje.

Como ya comentaba en la presentación del proyecto, la idea de utilizar Perl es que todo Mister House, programa con el que utilizaré mi librería de conexión, está escrito en este lenguaje.

El libro que he pedido es este:

Programming Perl (3rd Edition) (Paperback)
by Larry Wall (Author), Tom Christiansen (Author), Jon Orwant (Author)

Y el tutorial de Perl (por JJ Melero) este:

http://flanagan.ugr.es/perl/index2.htm

Y en segundo lugar, he empezado a utilizar un Arduino, de momento sólo he realizado cosas básicas como encender leds pero me han servido para familiarizarme rápidamente con él y su entorno de programación.

Este Arduino lo he adquirido en la empresa Libelum (http://www.libelium.com/) y su precio es de 24 € más gastos de envío (aunque para pedidos mayores de 120 € el envío es gratis). La recepción ha sido buena, todo venía perfectamente embalado y en buenas condiciones.

Sigo aprendiendo y en breve vendré con resultados.

Aprovecho para daros una buena entrada en este año nuevo. Feliz 2009