LAMPAN Ikea

Hackeando una lampara LAMPAN de Ikea

ACTUALIZACIÓN: Este proyecto ha aparecido en el blog de Hackaday! Para mi es un honor, solo puedo decir gracias!!!

Este proyecto comenzó hace unas semanas. Mi hija de seis años suele dormir con una luz encendida en su habitación. Hablando con ella, decidimos hackear su lampara LAMPAN de Ikea para realizar algunas mejoras, incluyendo un controlador manual de led’s RGB para elegir el color de la luz, un temporizador para apagar la lámpara tras 30 minutos de inactividad y una conexión bluetooth para controlar la lámpara con un smartphone o tablet. Si continuas leyendo el blog podrás ver lo que hemos desarrollado!

El objetivo de este proyecto, además de mi propio entretenimiento, es tener una lámpara con las siguientes características:

  1. Primero y, obviamente, mantener la conexión de la bombilla, para cuando quiere leer antes de dormir.
  2. Fijar de forma manual el color de la lampara, y hacerlo de una forma sencilla. Así, se podrá encender la lámpara (bombilla), fijar el color or apagarla.
  3. Además, el color de la lampará se podrá variar de forma remota, desde un dispositivo que tenga una conexión bluetooth como un smartphone o una tablet.
  4. Fijar un tiempo para apagar automáticamente la lámpara.

Para desarrollar este proyecto he utilizado elementos que tenía en casa, por lo que muchos de ellos están sobredimensionados (especialmente el relé de estado sólido y el microcontrolador). Es posible diseñar este sistema de una forma más optimizada.

  • El Hardware

Aqui se puede encontrar el esquema de la tarjeta que he montado par este proyecto. El sistema está basado en un microcontrolador PIC18F2550, con un cristal externo de 12MHz. Esto permite (utilizando el PLL interno) ejecutar código hasta una velocidad de 48 MHz, necesario para el manejo de los led’s RGB. Los led’s RGB que he utilizado han sido estos, que llevan integrados el controlador WS2811 (y son compatibles con los Neopixeles de Adafruit).  He utilizado 8 de estos leds para la iluminación de la lámpara. He colocado un condensador de 100uF (C3) cerca del conector de los led’s para evitar el pico inicial de corriente. Además he añadido la resistencia R2 de 330 ohm entre el pin del microcontrolador y el primer led para evitar picos de tensión. En la guia de Adafruit de los Neopixel hay más información acerca de estas consideraciones.

La interfaz humana con la lámpara es un potenciómetro. Nada más. El valor del potenciómetro es leido por el ADC interno del microcontrolador (10 bits). En un extermo, se encenderá la bombilla. En el otro extremo, la lámpara estará apagada. Y en medio, variando el potenciómetro variará el color de la lámpara según el valor leído (mas detalles en la sección SW).

La lámpara está conectada a un enchufe de 220VAc, por lo que necesito algún elemento para obtener 5Vcc para alimentar la electrónica de control. Para ello, he comprado un cargador USB de 2 euros (como este); es una forma fácil y barata de obtener una fuente de 5V para poder trabajar con ella. He añadido un fusible de 250VAC/1A en la entrada de línea y un condensador de 1500uF a la salida para estabilizar la tensión de salida.

He usado un relé de estado sólido (este) para controlar la bombilla. Está muy sobredimensionado (la potencia máxima de la bombilla que se puede utilizar es de 40W), pero era el que tenía por casa. Este tipo de reles trabajan muy bien y es muy fácil utilizarlos.

Finalemente, la etapa Bluetooth. He usado un módulo HC-05, muy popular y además sencillo de utilizar. Como se alimenta a 3.3V, he utilizado un pequeño LDO (U3) y un integrado con 6 buffers con salida en colector abierto para adaptar los niveles de las señales de control (también sobredimensionado).

Aqui hay un par de fotos con la situación de todos los elementos:

LAMPAN Ikea LAMPAN Ikea

  • Hackeando la lámpara

Lo primero que he hecho es preparar el potenciómetro y hacer un agujero en el pie de la lámpara para situarlo:

IMG_20150121_215223336 IMG_20150121_215351731 IMG_20150121_215558632

El siguiente paso es sacar el casquillo de la bombilla y dejar los cables accesibles para conectarlos a la electrónica y poder controlarlo con el relé de estado sólido. Además, he mantenido el cable con el interruptor que traía la lámpara, por lo que este cable también ha de estar accesible en la tarjeta de control:

IMG_20150121_215902086 IMG_20150121_215756353 IMG_20150121_220358821Siguiente paso: Abrir el cargador USB para tener disponibles los cables tanto de la entrada de 220VAC como de la salida de 5V:IMG_20150217_225242366 IMG_20150217_230745981 IMG_20150217_231053371 IMG_20150217_234527493Una vez hecho esto, ya se puede montar la tarjeta con la electrónica en la base de la lámpara:

IMG_20150302_205302701 IMG_20150302_205321881y montar la bombilla:

IMG_20150302_205402692Una vez hecho esto, es tiempo para las primeras pruebas, antes de fijar los led’s a la lampara:

IMG_20150302_205523314Y después de comprobar que todo funciona bien (y no arde) el paso final es fijar los led’s a la lámpara. Para hacer esto, he utilizado pegamento caliente:

IMG_20150302_211611564IMG_20150302_211655187 IMG_20150302_211711206

  • El Software

El software del proyecto se puede descargar aqui: SW Lampan RGB Hack V1.3

Como en proyectos previos, he usado el compilador MikroC Pro for PIC. Realmente me gusta este entorno IDE para desarrollar. Proporciona muchas librerias integradas que hacen el trabajo más sencillo. Y para programar el PIC he utilizado el programador oficial PICKIT3, una gran herramienta pra programar y depurar código.

Es posible que el software no esté totamente optimizado, pero es funcional y ha funcionado de forma correcta en todos los test que he hecho antes de liberar la versión. En la siguiente imagen se pueden ver las opciones del proyecto. Importante: seleccionar el oscilador tipo HS y la frecuencia del microcontrolador a 48 MHz:

fusesAlgunas consideraciones acerca del código:

– Con 256 bits por led para seleccionar el color, se pueden obtener un total de 16.777.216 de colores diferentes. Obviamente es imposible mostrar todos los colores. Por este motivo, he utilizado como referencia el siguiente gráfico para seleccionar los colores que se utilizarán en la lámpara:

rainbow_colorwheel– Para la comunicación Bluetooth, he utilizado la aplicación Bluetooth SPP Pro para android. Es una gran herramienta que permite una comunicación serie via bluetooth. He configurado alguno de los botones de la aplicación (en modo Keyboard) para que al pulsarlos, envíe una cadena de caracteres con el color a mostrar en la lámpara (BLUE, PINK, GREEN,…).

– El compilador MikroC muestra bastantes estadísticas acerca del código compilado. Aqui hay algunos de estos gráficos:

stats_01 stats_02 stats_03

Finalmente, un par de videos donde se puede ver la lámpara en acción. El primero de ellos se corresponde con un control manual, y el segundo vídeo muestra el control de la lámpara con la aplicación Bluetooth SPP Pro:

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

This post is also available in: Inglés

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.