A principios de este año, participé del free day de Sparkfun. Fui uno de los afortunados ganadores, y en mi pedido incluí dos muy lindas tiras de LEDs. Cada LED está manejado por un integrado WS2801 conectados en serie, con lo cual cada uno puede ser manejado independientemente con el protocolo SPI, utilizando solo 2 cables de control para toda la tira.
El proyecto inicial para el que los había pedido no prosperó, así que estaban esperando un nuevo objetivo.
Manos a la obra
Sin tener un plan claro, pero por lo menos con ganas de avanzar, empecé por comprar una plancha metálica y hacerle agujeros para que pasen los LEDs, lo más juntos posibles. Despues de un par de pruebas destructivas, usando un taladro con una mecha de 12mm encontré una forma prolija de agujererearla:
| Pruebas iniciales |
| Ya un poco más canchero. |
| Tiras finales |
Con las tiras ya armadas, pasé los 40 LEDs de las tiras, hasta obtener una tira larga.
Para este proyecto dejé descansar el Arduino y usé el Teensy++, que tiene características similares.
| Tira de LEDs + Teensy++ al comando |
Uniendo las 2 puntas, ya tuve mi primer acercamiento:
| Un "circulo", digamos |
| Una pequeña semejanza con el reactor de Iron Man, no? |
El papel metalizado no alcanzó para sostener la forma circular, pero un poco de alambre alrededor solucionó el problema.
El infinito
Con el circulo formado, ya es posible lograr el efecto de espejo infinito. Se requiere un espejo y un vidrio espejado. Al enfrentarlos, lo que queda en el medio se repite infinitamente (aunque cada vez con menos intensidad):| Vidrio espejado, leds y espejo |
| EL INFINITO |
Un poco de interacción
Había que aprovechar la versatilidad de las tiras de LEDs, así que programé algunas visualizaciones. Y para agregarle un poco de gusto al proyecto, decidí que el espejo sea interactivo. Para eso, conseguí un sensor ultrasonico de distancia HC-SR04 y un sensor infrarrojo VS1838B para recibir comandos de un control remoto:
La idea es programar el Teensy para que las tiras de LED reaccionen a los cambios de distancia y que las visualizaciones puedan cambiar manejadas con el control remoto.
Para manejar las tiras, usé la librería de Adafruit: https://github.com/adafruit/Adafruit-WS2801-Library y para leer el control remoto: http://www.pjrc.com/teensy/td_libs_IRremote.html . A ambas tuve que modificarlas ligeramente para hacerlas andar.
Emprolijando
Decidí agregar un terminado más prolijo al espejo. Para eso, hice cortar 2 piezas de acrilico para darle un marco:
Y luego los uní con 4 tornillos:
Alargué y emprolijé un poco el cable de las tiras de LEDs para alejar el Teensy. Así quedó el setup final:
Demo
Video del espejo en acción. Con el control remoto cambio de visualización y la mano cambio velocidad/intensidad del color: