Mejora tu corona de Navidad con una matriz de LED activada por movimiento
La Navidad está aquí otra vez, y ya sea que sea tu día festivo favorito del año o te haga sudar frío, las decoraciones están empezando a subir. Este año, ¿por qué no incorporar algo de tecnología DIY en sus decoraciones para que se destaquen??
En este proyecto construiremos una matriz de 8 x 8 LED activada contra la intemperie y activada contra el movimiento desde cero ... por menos de $ 20. Está diseñado para caber en el centro de una corona navideña estándar, aunque puede usarse en cualquier lugar de la casa. Y como funciona con pilas, también en cualquier lugar lejos de la casa.!
Lista de partes
Para este proyecto necesitarás:
- Arduino.
- Utilicé el Nano por su pequeño tamaño, pero podría usar casi cualquier microcontrolador compatible con Arduino. Guía de compra de Arduino: ¿Qué placa debería obtener? Guía de compra de Arduino: ¿Qué tabla debería obtener? Hay tantos tipos diferentes de tableros de Arduino por ahí que se te perdonará por estar confundido. ¿Qué debes comprar para tu proyecto? Déjanos ayudarte, con esta guía de compras de Arduino! Lee mas .
- 64 x LEDs rojos.
- 8 x 220 ohmios de resistencia.
- Sensor de movimiento PIR.
- Muchos kits de inicio Arduino ¿Qué se incluye en un kit de inicio Arduino? [MakeUseOf Explica] ¿Qué se incluye en un kit de inicio Arduino? [Explica MakeUseOf] Anteriormente presenté el hardware de código abierto Arduino aquí en MakeUseOf, pero va a necesitar algo más que el Arduino real para construir algo a partir de él y comenzar realmente. Arduino "kits de inicio" son ... Leer más vienen con estos. Compré un paquete múltiple de Amazon por $ 10.
- 1 pieza de tablero de prototipos.
- El que se usó aquí fue de 9 x 7 cm, aunque puede usar el tamaño que desee.
- 7-12v batería.
- Aquí se usa un paquete de baterías simple por razones de presupuesto, pero un cargador de banco móvil El mejor banco de energía de Pokemon Go El mejor banco de energía de Pokemon Go Pokemon Go supera la batería de un teléfono. Exprimir un poco más el jugo de captura de Pokémon de tu teléfono requiere un banco de poder. Pero, ¿cuál es la mejor batería que hay? Leer más puede durar aún más.
- Surtido de piezas cortas de alambre.
- Caja de Tupperware o similar a prueba de intemperie.
- Asegúrese de que sea lo suficientemente grande como para que quepan todos sus componentes en el interior!
- corona de Navidad.
- Cualquiera lo hará, solo asegúrese de que la caja del gabinete encaje en su interior.
- Soldador y soldadura.
Aunque no es estrictamente necesario, ya que podría soldar los componentes directamente al Nano, también encontré una pequeña placa de pruebas muy útil durante las pruebas. Una pistola de pegamento caliente también ayuda a juntar todas las piezas..
Este proyecto requiere bastante soldadura y, como principiante, puede parecer desalentador. Personalmente todavía soy un principiante en la soldadura y descubrí que no es tan difícil ni consume tanto tiempo como parece. Si también eres nuevo en la soldadura, aquí hay algunos consejos útiles para aprender a soldar, con estos simples consejos y proyectos. Aprende a soldar, con estos simples consejos y proyectos. ¿Estás un poco intimidado por la idea de un hierro caliente y ¿metal fundido? Si quieres comenzar a trabajar con electrónica, necesitarás aprender a soldar. Déjanos ayudarte. Lee mas .
Si realmente no está interesado en la idea de soldar, este proyecto también es posible con tiras de LED Proyecto de fin de semana: Construya una pantalla gigante de píxeles de LED Proyecto de fin de semana: Construya una pantalla gigante de píxeles de LED Me encantan los píxeles de LED: brillante, fácil de controlar, Barato, y muy versátil. Hoy, los convertiremos en una gran pantalla de píxeles que se puede colgar en la pared. Lea más, o una matriz de LED lista para usar que puede tener en su kit de inicio. Algunos ajustes de código serán necesarios si decides ir por esa ruta.
Configurando el Arduino
Comenzaremos con el diagrama del circuito del Arduino y los cables que conectaremos a nuestro sensor PIR y matriz de LED..
Dentro de la matriz
Ahora para hacer nuestra matriz 8 x 8 LED. Para empezar, es una buena idea crear una fila y una columna de la matriz para asegurarse de que está exactamente donde lo desea en el tablero de prototipos..
En la foto de arriba, todos los LED se colocan de modo que los ánodos (la pata más larga y positiva) estén hacia la parte superior del protoboard. Esto es importante, ya que estaremos creando columnas de ánodos comunes uniéndolos, y filas de cátodos comunes (la pata negativa más corta). Conseguir esto ahora ahorrará dolores de cabeza más tarde!
Vamos a construir una matriz de cátodos de fila común, este diagrama muestra cómo está todo conectado.
Puede parecer un poco desalentador al principio, pero es una configuración bastante simple. En cada fila, todos los cátodos se unen de derecha a izquierda y luego se unen a uno de nuestros pasadores Arduino. Después de esto, hacemos lo mismo para cada columna de ánodos. De esta manera, según la columna a la que apliquemos potencia y la fila que unimos al suelo, podemos encender cualquier LED individual en la matriz.
Que comience la soldadura
Comience por colocar su primera fila de LEDs. Asegúrate de que todos los ánodos estén orientados hacia arriba y dale la vuelta. Encontré que agregar otro LED en cada esquina y colocar otra pieza de protoboard en la parte superior con un cordón elástico ayudó a mantener todo en su lugar.
Ahora, una a una, doble la pata del cátodo (corta) de cada LED hacia la izquierda para que se superpongan entre sí. Es más fácil comenzar desde el lado izquierdo y trabajar hacia la derecha. Si está utilizando una pieza más grande de protoboard, primero puede soldarlos a la placa y conectarlos usando las almohadillas. Tenga cuidado de no unir ninguno de los cátodos a ninguna otra línea del tablero o cualquiera de los ánodos!
Repita este proceso para las ocho filas, y cuando termine, debe tener algo que se parezca a esto:
Ánodos de salto!
Las columnas de ánodos son un poco más complicadas. En el diagrama de arriba, los ánodos se curvan cada vez que cruzan una fila de cátodos. Esto es porque no pueden tocar las filas en absoluto. Debemos doblar los ánodos sobre las filas de cátodos y unirlos entre sí. Usted puede encontrar que usar una pluma para doblar las piernas ayuda mucho.
Haga esto para cada fila de ánodos y adjunte una resistencia a cada ánodo superior. Probablemente le resulte más fácil colocar la resistencia en el siguiente orificio del protoboard y unir las almohadillas usando soldadura. Ahora deberías tener algo como esto:
¡Felicidades! La matriz de LED está completa. Compruebe su soldadura a fondo en esta etapa para asegurarse de que no haya roturas y que ninguna de las columnas esté tocando las filas. ¡No se preocupe si no se ve bonito, solo lo necesitamos para trabajar! Ahora puede verificar cada LED individualmente adjuntando 5v a cualquiera de los extremos de la columna, y conectando a tierra a cualquiera de los extremos de la fila.
Siempre que todo esté bien, conecte los cables de enganche a cada columna y cada fila, y conéctelos a su Arduino como se muestra en el diagrama de arriba..
Vamos a obtener la codificacion
Abra el IDE de Arduino y elija su placa y puerto. Si eres nuevo en Arduino, consulta esta guía de inicio. Comenzando con Arduino: una guía para principiantes Comenzando con Arduino: una guía para principiantes Arduino es una plataforma de creación de prototipos de electrónica de código abierto basada en hardware y software flexibles y fáciles de usar. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Lee mas
Introduzca este código en el editor. Es un código bastante denso si no está familiarizado con él, pero está disponible aquí completamente anotado para ayudar a entender cómo funciona.
fila de const int [8] = 2,3,4,5,6,7,8,9; const int col [8] = 10,11,12,14,15,16,17,18; int pirPin = 19; int pirState = LOW; int val = 0; bool pirTrigger = falso; const int pirLockTime = 12000; int pirCountdown = pirLockTime; píxeles int [8] [8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME [8] [8]; const CHAR_MAP_NAME blank = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ; const CHAR_MAP_NAME threedownthreein = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ; const int noOfFrames = 5; const CHAR_MAP_NAME * charMap [noOfFrames] = & blank, & threedown threein, & blank, & blank, & threedown threein; configuración vacía () para (int i = 0; i<8;i++) pinMode(row[i], OUTPUT); pinMode(col[i],OUTPUT); //motion sensor pinMode(pirPin, INPUT); digitalWrite(col[i], LOW); void screenSetup() const CHAR_MAP_NAME *thisMap = charMap[currentCharIndex]; for (int x = 0; x < 8; x++) for (int y = 0; y < 8; y++) bool on = (*thisMap)[x][y]; if(on) pixels[x][y] = HIGH; else pixels[x][y] = LOW; currentCharIndex++; if(currentCharIndex>= noOfFrames) currentCharIndex = 0; void refreshScreen () for (int currentRow = 0; currentRow < 8; currentRow++) digitalWrite(row[currentRow], LOW); for (int currentCol = 0; currentCol < 8; currentCol++) int thisPixel = pixels[currentRow][currentCol]; digitalWrite(col[currentCol], thisPixel); if (thisPixel == HIGH) digitalWrite(col[currentCol], LOW); digitalWrite(row[currentRow], HIGH); void loop() val = digitalRead(pirPin); if (val == HIGH) pirTrigger = true; else if (val == LOW && pirCountdown <=0) pirTrigger=false; pirCountdown = pirLockTime; if(pirTrigger==true && pirCountdown > 0) refreshScreen (); cuenta regresiva--; pirCountdown--; si <= 0) countDown = refreshSpeed; screenSetup();
Las partes importantes a entender son:
los refreshSpeed variable. Esta variable determina cómo se actualiza el tiempo entre cada pantalla. Un número más grande significa una espera más larga.
La const CHAR_MAP_NAMEs. Aquí es donde colocas cada mapa de caracteres (o marco, si es más fácil pensarlos de esa manera) que deseas mostrar..
los noOfframes variable. Esto determina cuántos fotogramas se muestran en una reproducción completa. Tenga en cuenta que puede ser diferente al número de mapas de caracteres. Por ejemplo si quisieras mostrar “UN GATO” solo tendría que definir cuatro marcos distintos: en blanco, un UNA, una do y un T.
Ahora, cuando el sensor de movimiento detecta movimiento, la pantalla LED debe parpadear tres LED hacia abajo y tres hacia adentro desde la parte superior izquierda. ¡Si no se muestra correctamente, revise nuevamente el cableado para asegurarse de que todo esté en el lugar correcto! Cuando agrega su propia imagen o mensaje, se puede cortar antes de tiempo o jugar por mucho tiempo. Intenta cambiar el pirLockTime variable hasta que se reproduzca durante el tiempo que desee.
El proceso de agregar cada marco a la pantalla LED puede ser un poco tedioso, por lo que hemos creado esta hoja de cálculo para que sea más fácil crear texto e imágenes para su matriz LED (haga una copia de la Hoja de Google para que pueda editarla ).
Usando la hoja de cálculo, puede copiar sus creaciones directamente en el código.
Haz que valga la pena los elementos
Ahora que tenemos una matriz de LED en funcionamiento, necesitamos una forma de sobrevivir al clima invernal. Si bien es posible que este método no resista una tormenta tropical o se sumerja en la piscina, debería ser suficiente para mantener a salvo a los elementos de toda la electrónica..
Usé una caja redonda de Tupperware que tiene 15 cm de diámetro y 6 cm de profundidad, ya que se ajusta perfectamente a mis componentes. Corte una ventana en la tapa un poco más grande que su matriz de LED, y péguele una película de plástico transparente, asegurándose de no dejar espacios para que entre líquido. El plástico resistente de algunos empaques funcionaría mejor, pero esto era todo lo que tenía. También puede adjuntar algunos montajes para el protoboard, aunque ambos trabajos podrían realizarse fácilmente con una cinta resistente al agua.
Luego, haga un pequeño orificio debajo de la ventana, luego amplíela con cuidado y lentamente hasta que el sensor PIR solo pueda pasar. Quieres que se ajuste lo mejor posible.
Conecte su sensor PIR y complete cualquier espacio que pueda ver con cinta o pegamento caliente.
Limpie cualquier cinta o pegamento que pueda impedir que la caja se cierre correctamente y agregue todos sus componentes a la caja junto con su batería. Aquí, se usó un paquete de baterías AA simple, conectado directamente al pin VCC del Nano. Se agregaron algunos pedazos pequeños de corcho al exterior del recinto para ayudar a colgar la estructura en el centro de la corona.
Y hemos terminado
Una vez que la caja esté sellada, cuélguela con su corona navideña y espere las reacciones de los visitantes a su bienvenida personal de alta tecnología de $ 20. Incluso podría ir un paso más allá y crear asombrosas decoraciones de bricolaje. Decoraciones navideñas impresas en 3D para unas vacaciones perfectas en Geeky. Decoraciones navideñas impresas en 3D para unas vacaciones perfectas en Geek. Leer más para otros lugares alrededor de la casa también!
En este proyecto, hemos construido un sistema de matriz LED autónomo desde cero, que se activa con el movimiento y puede sobrevivir al estar afuera en todo menos en el clima más inclemente. Esta construcción será útil mucho después de que termine la temporada de vacaciones en otros proyectos, y la misma técnica podría usarse para crear recintos a prueba de intemperie baratos para otros proyectos también.
¿Has construido algo para darle un toque DIY a tu Navidad? ¿Estás planeando algún regalo de Navidad con temas de bricolaje este año? Háganos saber en los comentarios a continuación.!
Explorar más sobre: Arduino, Electrónica..