» Electrónica » Arduino »Matriz Led en WS2812

Matriz Led en WS2812

Matriz Led en WS2812

Buenas tardes quiero compartir otro hecho en casa. Esta vez decidí escribir instrucciones para la fabricación de matriz Led. El tamaño es pequeño de 10x10 diodos. Pero de acuerdo con estas instrucciones, es posible hacer matrices y tamaños grandes. Para mayor belleza, luz de fondo. La base fue tomada por LEDs direccionables WS2812 montados en una cinta a 60 diodos por metro. Los manejaremos a través de Arduino Pro Mini. Hay muchas opciones para usar la matriz. Por ejemplo, agregué un sensor de temperatura y escribí el firmware del reloj sin RTC.

Necesitaremos:
- Cinta WS2812 con 120 LED, 60 piezas por metro
-
- Fuente de alimentación para 5V 1A
- sensor de temperatura ds18b20
- Resistencia 4.7 Kom 0.25 W
- aglomerado de 10 mm de espesor
- Plástico mate o "Leche"
- cartón grueso
- cinta aislante
- cables de conexión
- placa de circuito
- Botones
- Tornillos autorroscantes 19 mm
- soldador
- Soldadura, colofonia
- cinta de doble cara
- USB-TTL
- Taladro o destornillador
- Sierra de traste eléctrica
- Taladros para madera

Paso 1 Preparación de diodos
Tomamos un cartón denso y lo "forramos", es decir, dibujamos líneas horizontales con una distancia entre ellos de 16 mm. Contamos 100 diodos de nuestra cinta. Estos 100 diodos se modelan en segmentos de 10 diodos. Los 20 restantes se cortan un diodo. Esto debe hacerse con cuidado y estrictamente a lo largo de las líneas de corte. Permítanme explicar: se necesitan 10 segmentos de 10 diodos en total 100 para la matriz, los 20 restantes están retroiluminados. Secciones de 10 diodos están pegadas al cartón a lo largo de las líneas. ¡Preste atención a la dirección de la señal de control para los diodos! La señal de control debe suministrarse en la dirección correcta, para este fin la flecha se muestra en la dirección de la cinta. Pegue la primera tira de izquierda a derecha, es decir, IN (entrada) en la cinta debe estar a la izquierda y OUT (a la derecha). Por lo tanto, la entrada (entrada) de la primera tira debe estar en la esquina superior izquierda. Pegue la siguiente tira por el contrario, de derecha a izquierda. El tercero de nuevo de izquierda a derecha. Tan lejos Al seguir la dirección de la señal de control, deberíamos obtener una línea en zigzag, comenzando desde la esquina superior izquierda. Lo principal es no confundir nada.

Entre la primera y la segunda tira, más cerca del comienzo, se hace un agujero para los cables. Suelde los cables a la primera tira, preferiblemente de varios colores, para que no se mezclen. Los pasamos por el agujero hecho. A continuación, suelde nuestras rayas con cables cortos. + 5 desde la primera cavidad hasta +5 la segunda. GND a GND. Desde la salida de la primera tira hasta la entrada de la segunda tira, desde la salida de la segunda tira hasta la entrada de la tercera, y así sucesivamente. El resultado debería ser el siguiente:


Paso 2 Hacer el caso.
El caso consta de tres partes. Primero, debe cortar el marco del aglomerado de 10 mm de espesor. Es mejor cortar con una sierra de calar, pero en ausencia se puede tomar manualmente. El lado del cuadrado exterior es de 190 mm.Interno - 170 mm. Por belleza, es mejor redondear las esquinas. Por lo tanto, se debe obtener un marco con un tamaño de 190 x 190 mm y un espesor de pared de 10 mm. Después del corte, limpiamos con papel de lija fino.


Procedemos a la fabricación de la segunda parte. Adjuntamos nuestro marco a la hoja de aglomerado y dibujamos un lápiz alrededor del borde exterior. Quitamos el marco. Nos retiramos 30 mm en cada lado hacia el interior del cuadrado y dibujamos un cuadrado interior. Debería obtener otro marco de 190 x 190, pero con un grosor lateral de 30 mm. A una distancia de 5 mm del borde exterior de este marco, y a una distancia igual entre sí, hacemos agujeros con un diámetro de 3 mm. 2 agujeros a cada lado. Son necesarios para los tornillos. También debe decidir dónde estará la parte superior, y en la esquina superior izquierda del cuadrado interior, haga una ranura para los cables.


En el reverso del segundo marco, a lo largo del perímetro del lado interno, es necesario atornillar segmentos del mismo aglomerado de 10 mm de espesor. El resultado debería verse así:


Ve a la asamblea. Ponemos el segundo marco sobre la mesa. Arriba, diodos arriba, pon una caja de cartón con diodos. Y lo cubrimos todo con el primer cuadro. Coloque el cartón entre los marcos para que los diodos corran paralelos a los lados del marco y a la misma distancia de los bordes. Le damos la vuelta a todo, con mucho cuidado para no derribar los diodos y girarlo todo junto. Después de eso, cortamos el exceso de cartón.


Ve a la luz de fondo. En el lado de los diodos, entre la penúltima y la última tira, más cerca del borde izquierdo, debe perforar un agujero para los cables. Suelde los cables al final de la última tira y pase estos cables a través del orificio. Los 20 diodos restantes y cortados uno a la vez deben estar pegados en la parte posterior, a la misma distancia entre sí. 5 piezas a cada lado. La dirección de la señal de control es la manecilla horaria que comienza en la esquina inferior derecha. Los soldamos así como la matriz. Los cables derivados del extremo de la matriz se sueldan al primer diodo. + 5 desde el primer diodo hasta +5 del segundo. GND a GND. Desde la salida del primer diodo a la entrada del segundo, desde la salida del segundo a la entrada del tercero, y así sucesivamente.

Colocamos nuestro Arduino Pro Mini dentro del marco trasero, detrás de la matriz. Para la alimentación, use una fuente de alimentación estabilizada de 5 voltios. Con una intensidad actual de al menos 1 amperio. Los diodos son bastante voraces y si planea encenderlos todos a la vez y durante mucho tiempo, la fuente de alimentación se necesita más potente, le recomiendo 1,5 - 2 amperios. Conectamos todo esto desde la fuente de alimentación +5 a +5 Arduino y +5 WS2812. -5 fuente de alimentación con GND Arduino y GND WS2812. El cable de control de IN WS2812 está conectado al "pin 6" Arduino.


Los diodos son muy brillantes y no se ven muy estéticamente agradables. Por lo tanto, es necesario fabricar e instalar un difusor. El plástico mate es el más adecuado para esto, o como se le llama "leche". Es necesario unir la matriz al plástico y hacer un círculo con un lápiz. Luego corte y sujete con cinta adhesiva de doble cara en el marco frontal. No siempre es posible encontrar este tipo de plástico rápidamente, pero realmente quiero comenzar el producto. En este caso, puede usar cartón blanco o papel de paisaje en lugar de plástico.


Por el mismo principio, es posible hacer una matriz de grandes tamaños. Solo es necesario contar las dimensiones del caso.

Paso 3 Conecte el sensor de temperatura.
Es solo que este reloj no es interesante, así que agrégale un sensor de temperatura. Para medir la temperatura, utilizaremos el sensor integrado DS18B20. Tiene una alta precisión de medición, el error no es más de 0.5 ° C. Ya de fábrica, el sensor está calibrado y no se requieren configuraciones adicionales. Amplio rango de medición de temperatura -55 ... + 125 ° C. Se puede usar en cualquier habitación. Si está en la calle, debe protegerse de la humedad. Hay dos modos de operación: con una fuente de alimentación externa y "potencia espuria". Recomiendo usar con alimentación externa.


Se pueden incluir varios sensores en una línea de comunicación. Pero para nosotros, uno es suficiente. +5 tomamos de la fuente de alimentación. GND a -5. Cable desde el pin "DQ" ds18b20 al "pin 9" Arduino.Recuerde poner una resistencia pull-up entre "DQ" y +5 a 4.7 kOhm. En mi opinión, es más conveniente hacer esto en el sensor mismo. Lo mostramos en la esquina superior derecha:


Paso 4 Preparar un tablero con botones.
En este caso, usamos la matriz como reloj. El tiempo se puede configurar usando el puerto serie conectando el Arduino a la computadora. Esto no siempre es conveniente. Por lo tanto, fabricaremos una placa con tres botones para establecer la hora. Además de esto, la matriz se puede utilizar para otros fines, simplemente escriba otro boceto. Luego, los botones se pueden usar para otros fines.


Los conectamos de la siguiente manera: el cable común a los tres botones está conectado al Arduino "GND". El primer botón, sirve para ingresar al modo de configuración de la hora y cambiar la hora y la fecha, conectarse al "Pin 2". El segundo, el botón para aumentar el valor, es "Pin 3", y el tercero, el botón para disminuir el valor, es "Pin 4". Adjuntamos los botones a la cinta de doble cara detrás de la matriz:


Paso 5 Firmware.
Como dije, la matriz se puede usar para diferentes propósitos. Actualmente he escrito un boceto solo para relojes. En el diseño posterior y otros bocetos. Para escribir y rellenar uso Arduino IDE 1.8.5. Puede controlar la matriz de varias maneras. Controle cada diodo individualmente o como una matriz única. En mi boceto, uso la primera opción. Para hacer esto, necesita una biblioteca de Adafruit llamada NeoPixel-master:
adafruit_neopixel-master.rar [27.83 Kb] (descargas: 71)


Para trabajar con diodos como con la matriz de matriz Adafruit_NeoMatrix-master y Adafruit-GFX-Library-master:
matrix_libraries.rar [282.01 Kb] (descargas: 80)


Un sensor de temperatura necesita la biblioteca OneWire.
onewire.rar [16.75 Kb] (descargas: 64)


Para editar y completar el boceto, primero debe instalar el IDE de Arduino desde el sitio oficial de Arduino.cc, y luego todas estas bibliotecas. Es necesario descomprimir estos archivos y colocar los archivos desempaquetados en la carpeta "bibliotecas" ubicada en la carpeta con el IDE Arduino instalado. También es posible instalar bibliotecas directamente en Arduino IDE. Sin desempaquetar los archivos descargados, en el IDE de Arduino, seleccione el menú Sketch - Connect Library. En la parte superior de la lista desplegable, seleccione "Agregar biblioteca .Zip". En el cuadro de diálogo que aparece, seleccione la biblioteca que desea agregar. Después de todas las manipulaciones, debe reiniciar el IDE de Arduino.

El sensor de temperatura tiene una dirección única para cada dispositivo: un código de 64 bits. Encontrar este código es una tarea exigente. Por lo tanto, primero debe conectar el sensor al Arduino, complete el boceto ubicado en el menú Archivo - Ejemplos - Temperatura de Dallas - OneWireSearch. A continuación, ejecute Herramientas - Monitor de puerto. Arduino debería encontrar su sensor y escribir su dirección. Copiamos o simplemente escribimos la dirección de su sensor. Abra el boceto Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term, busque la línea:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // dirección de mi sensor 


Anotamos la dirección de su sensor entre llaves, reemplazando la dirección de mi sensor.

Este reloj no usa el módulo RTC. Por lo tanto, si tienen prisa o están atrasados, debe cambiar el valor en la línea:

if (micros () - prevmicros & gt; 494000) {// cambiar a otro para el ajuste fue 500,000


Es necesario determinar este número empíricamente. Si su reloj tiene prisa, debe aumentar este número; si estoy retrasado, disminuya.

Rellena el boceto.


Pido disculpas, pero no logré tomar una foto con los diodos encendidos. Lo intenté con y sin luces. Pero te aseguro que vives se ven mucho mejor.




0
0
0

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...