Árbol de Navidad Shield para Arduino con WS2812b

Llegan las Navidades, y nada más típico que montar un arbolito de Navidad para dar un poco de ambiente. Los hay de muchos tipos, pero este está pensado para los mas frikis, basado en leds RGB de última generación y pensado para 'plantarlo' sobre un Arduino.



El esquema no puede ser más simple: un Arduino, 20 leds direccionables WS2812b, unos cuantos condensadores de 100nF y un zumbador piezoeléctrico.

Esquema Árbol de Navidad Shield para Arduino con WS2812b


Los WS2812b se conectan en cascada a través de un único cable, con lo que la comunicación con Arduino es extremadamente sencilla, sólo un pin, los datos se van pasando de un circuito al siguiente, y esto permite que se pueda controlar cada led independientemente. Esto permite crear tiras o matrices de leds RGB más fácil que nunca.
El WS2812b, creo sin exagerar que es una auténtica joya. Internamente incluye los tres leds (R,G,B) y un circuito integrado WS2811, que es el encargado de manejar los datos pon un único pin, enviarlos al siguiente y controlar cada led con 256 niveles de intensidad.
Aquí os dejo un par de fotos que pude hacer al susodicho:


Árbol de Navidad Shield para Arduino con WS2812b

Imagen de WS2812b , WS2812, WS2811



¡Ojo! Hay otra versión el WS2812 igual al WS2812b pero con 6 pines, en la que la alimentación de los leds y del circuito van por separado.
Dado el boom que han tenido, es fácil encontrarlos en ebay, bien en tiras adhesivas dónde sólo hay que conectar el pin de entrada y la alimentación, o bien sueltos como es este caso.

Para el manejo del los leds, utilizo una estupenda librería: Adafruit neopixel, capaz de manejar de manera sencilla este tipo de leds.

El código

Como ya he comentado, utilizo la librería de Adafruit para controlar los leds. Básicamente es el ejemplo 'strandtest' de  la librería, al que he añadido una primera parte en la que se toca la melodía de 'Jingle Bells' utilizando la función tone, y algún efecto más.
Por si no se quiere oír constantemente la melodía, es necesario hacer un puente entre los pines 2 y 7 para que suene.

Este es el diseño del circuito impreso que he hecho:

PCB Árbol de Navidad Shield para Arduino con WS2812

Aunque teóricamente es necesario un condensador de desacoplo de 100 nF por cada led, yo he puesto unos cuantos repartidos por el circuito (si algún led se despista en un momento dado, no creo que vaya a ser muy grave), de momento no he visto que falle ninguno.

Descargar

Puedes descargar el código, el PCB y el esquema aquí : 

Fotos del proyecto AQUI

¡Feliz Navidad!

Si te ha gustado, recuerda compartirlo en tu red social favorita. Gracias


 << Reproductor Mp3 con Arduino I (Circuito)

La estructura de la SD

Es este post voy a intentar explicar un poco el código de nuestra 'Gramola' con corazón de Arduino.
El principal problema que encontré para realizar este proyecto, fue la limitación de la librería SD, con su FAT  reducida que sólo permitía la los nombres en formato 8.3.
La solución fue crear un pequeño catálogo en un archivo de texto de donde poder leer las entradas.

La estructura de directorios en la SD tiene el siguiente formato:
raiz
 +-artistas.txt
 +-[ARTIST01]
 |   +-album.txt
 |   +-[ALBUM01]
 |   |   +-track.txt
 |   |   +-track001.mp3
 |   |   +-track002.mp3
 |   |   .....
 |   |   +-track0nn.mp3
 |   +-[ALBUM02]
 |   .......
 |   +-[ALBUMnn]
 +-[ARTIST02]
 .....
 +-[ARTISTnn]
Es decir hay tres niveles : artista, álbum y  pista. Cada nivel tiene un fichero de texto con las entradas del catálogo (una linea de texto por cada artista, álbum  o canción).
Los nombres de las carpetas y los archivos deben ser tal como están en el esquema (siempre podéis cambiar el código).
Es un poco engorroso para crear la tarjeta, pero.... vale la pena.Yo he utilizado un programa que facilita mucho la tarea MP3Tag, que permite exportar a texto las pistas de un directorio y renombrar los mp3.





Después de algún tiempo trabajando y peleando,  os presento este nuevo proyecto Arduino: Un completo reproductor de MP3 basado en Arduino.
Como podéis observar en la foto, la idea era construir un reproductor independiente, al estilo de las antiguas radios o 'cassetes', en plena era de los Iphones ....
El reproductor utiliza un pequeño módulo basado en el chip VS1002d de VLSI (ya descatalogado, pero que tenía por un cajón). El módulo en cuestión lo compré en Futurlec . Actualmente se pueden conseguir módulos similares en ebay por algo más de 9€ , aunque el chip es el VS1003 o VS1053. También podéis utilizar una MP3 shield , pero bastante más cara (esta shield ya incluye una ranura SD).
Por lo que he podido ver los tres chips son bastante compatibles en cuanto a la programación, y de hecho casi toda la inicialización la he sacado de la librería para la MP3 Shield de SparkFun ;-)



ATENCIÓN: En este parte se utiliza la tensión de red, lo cual puede llevar sus riesgos. Si no tienes suficiente experiencia o no te crees capacitado, mejor utiliza unos cuantos leds a baja tensión y evítate un susto. El autor no se hace responsable de cualquier posible daño producido por no tomar las debidas medidas de seguridad.
Para la etapa de potencia he utilizado unos triacs del tipo BT137 controlados por optoacopladores del tipo MOC3041. Dependiendo de la potencia que queráis controlar, es posible cambiar el tipo de TRIAC por uno de menor potencia (o mayor ...).
Los optoacopladores MOC3041 contienen internamente un circuito de control para el disparo al paso por cero, es decir el triac siempre se cerrará la pasar la tensión por cero evitando interferencias.
Se pueden utilizar otro tipo de optoacopladores respetando el circuito recomendado por el fabricante.

El esquema es el siguiente:

Etapa de potencia para órgano de luces sicodélicas con Arduino

Y este el aspecto una vez montado (en mi caso la etapa es de 4 canales)

Etapa de potencia para órgano de luces sicodélicas con Arduino

Observar que está montado en una caja convenientemente aislada. Los Triacs llevan disipadores para soportar cargas continuas elevadas (en este caso soportan 8A, lo que permite unos 1500W por canal).

El resultado:


Que os divirtáis ....

Si te ha gustado, recuerda compartirlo en tu red social favorita. Gracias


<< Organo de luces (I) - Introducción Organo de luces (III) - Etapa de potencia >>

Obtención de la señal

Como comentaba en el post anterior, en mi caso voy a  a utilizar un micrófono como fuente de señal, esto evita tener que conectar la fuente directamente y proporciona más libertad de movimiento.
Yo he utilizado un módulo de Dealextreme (como no), el SKU: 135533, que es un módulo detector de sonido con una salida digital y una analógica. Aquí utilizaremos esta última.
Como el nivel de la señal que entrega es muy pequeño, he utilizado un vetusto u741 (pero funcional) que había por un cajón, para adecuar la señal a la entrada del Arduino.
También es posible utilizar directamente un micrófono electret , pero habrá que amplificarlo adecuadamente (podéis encontrar infinidad de esquemas en internet), o bien utilizar un módulo ya amplificado como este 

El esquema de montaje es este (clik en las imágenes para ampliar):

Esquema del organo de luces con Arduino
Y el montaje este:

Montaje del organo de luces con Arduino



Introducción

Los que tengáis unos cuantos años como yo recordaréis que allá por los 80, en cualquier discoteca o fiesta que se terciara, eran obligatorias las las luces psicodélicas, es decir aquellas luces que variaban al ritmo de la música. Podía ser una única luz o varias, normalmente 3 que variaban con sonidos graves, medios  y agudos de la música.
Se podían conseguir ya hechas (muy caras para aquella época), en kit (los míticos SalesKit) o bien hacértelas tu mismo.
Bien pues yo era un fan de las luces (y de las fiestas) y construí un par de ellas, la primera hace más  de 30 años  (si, si, ...) en una estupenda caja hecha de chapa de madera, pero por desgracia hace algunos meses acabó en la basura ..
La segunda de hace unos 30 años .. todavía sigue vivíta y coleando .....

Organo de luces sicodélicas Elektor 1982

Sacada de la estupenda revista Elektor de Marzo de 1982

Revista Elektor Marzo 1982

Bueno pues después de esta historia del abuelo cebolleta, vamos a ver como emular aquellas míticas luces con nuestro querido Arduino.
La idea es utilizar una fuente de sonido, en mi caso un micrófono, adecuarla al nivel de las entradas del Arduino, aplicarle un proceso de FFT para separar las distintas frecuencias, agrupar estas en tres canales (graves, medios y agudos), y en función de que estos superen un determinado nivel poner a nivel alto tres salidas del Arduino.
Estas salidas inicialmente pueden atacar unos leds, pero para que sea más auténtico luego utilizaremos unas etapa de salida con triacs para poder atacar unas bombillas.

¿Te interesa? sigue leyendo en el siguiente post ...


El vídeo del sistema funcionando para ir haciendo boca......


Si te ha gustado, recuerda compartirlo en tu red social favorita. Gracias

Aprovechando el post anterior, vamos a añadir al circuito un receptor de infrarrojos de manera que podamos variar el color y el brillo del led con un mando a distancia de Dealextreme que viene perfecto para el proyecto. El mando en cuestión el el SKU: 47019, es un mando muy barato que viene con pila incluida :
Mando infrarrojo remoto RGB

Para conseguir que el Arduino lo detecte, utilizaremos un receptor infrarrojo del tipo TSOP 1738 o similar (en mi caso tengo un 1736 y funciona igualmente a pesar de que el mando utiliza una portadora de 38KHz).

Temas

Arduino (8) Led RGB (3) Luces (3) FFT (2) MP3 (2) Micrófono (2) reproductor (2) vs1002 (2) vs1003 (2) Control Remoto (1) MOC3041 (1) Navidad (1) Optoacoplador (1) Potencia (1) SD (1) TSOP1738 (1) Triac (1) ULN2003 (1) WS2812 (1) WS2812B (1) Zumbador (1) vs1053 (1)

Google+

English Version

English Version
Arduino is Cool!!

También en Facebook

Buscar en el blog

Cargando...