Tabla de contenido:

Luz nocturna Neopixel: 14 pasos (con imágenes)
Luz nocturna Neopixel: 14 pasos (con imágenes)

Video: Luz nocturna Neopixel: 14 pasos (con imágenes)

Video: Luz nocturna Neopixel: 14 pasos (con imágenes)
Video: Arduino desde cero en Español - Capítulo 29 - Neopixel LED RGB 🚥 inteligente WS2812 (y tiras) 2024, Noviembre
Anonim
Luz de noche Neopixel
Luz de noche Neopixel

Por joshua.brooks Siga más por el autor:

Conector de programación de pin Pogo
Conector de programación de pin Pogo
Conector de programación de pin Pogo
Conector de programación de pin Pogo
Escultura zootropo de mano
Escultura zootropo de mano
Escultura zootropo de mano
Escultura zootropo de mano
Reloj de escritorio NeoPixel
Reloj de escritorio NeoPixel
Reloj de escritorio NeoPixel
Reloj de escritorio NeoPixel

Daré algunos talleres de electrónica en unas pocas semanas, centrados en un proyecto económico pero útil del mundo real. Cuando traté de pensar en algo para hacer, quería que involucrara un microcontrolador, LED NeoPixel (porque son increíbles), que sea controlable de forma remota y permita diferentes opciones de construcción. También tenía que ser completamente simulable en Tinkercad. Este es el proyecto que evolucionó.

Incluye algunas funciones realmente interesantes en un dispositivo pequeño, es personalizable y es bastante simple de construir.

Lista de partes:

  • Placa de circuito impreso (OSHPARK)
  • Anillo NeoPixel 12 (Adafruit)
  • Microcontrolador ATtiny85 (DigiKey)
  • Cable de núcleo sólido de calibre 22 (DigiKey, Amazon, Radio Shack, etc.)
  • (opcional) Receptor de infrarrojos (DigiKey)
  • (opcional, pero muy recomendable) Condensador electrolítico de 1μF (DigiKey)
  • (opcional) Pulsador (Jameco)
  • (opcional) 2 x conector macho de 3 pines (DigiKey)
  • (opcional) 2 x puente de derivación (DigiKey)
  • (opcional) Toma DIP de 8 pines (DigiKey)
  • (opcional) cabezal en ángulo recto de 4 pines (DigiKey)
  • (opcional) Mando a distancia por infrarrojos (Amazon)
  • Cinta de gorila (Amazon)
  • Fuente de alimentación de pared USB (Amazon)

Lista de herramientas:

  • Soldador y soldadura
  • Cortador de cables
  • Pelacables
  • Alicates
  • Tijeras

Paso 1: diseño y simulación

Como mencioné anteriormente, quería usar el Tinkercad gratuito para este proyecto. Decidí diseñarlo completamente y probarlo allí antes de tocar cualquier dispositivo electrónico real. Esto me permitió asegurarme de que todo (incluido el firmware ATtiny85) funcionaría. Aquí está ese circuito virtual. Puede presionar "Iniciar simulación" a continuación para probarlo.

Paso 2: las piezas necesarias

Las partes necesarias
Las partes necesarias

Este proyecto está diseñado para permitir flexibilidad en la forma en que se construye. Entonces, dependiendo de lo que quiera hacer con él, es posible que no necesite todas las partes. Hay tres partes (y un cable) que son absolutamente necesarias. Es posible construir algo funcional solo con estos.

Neopixel Ring 12: el anillo tiene doce NeoPixels que se pueden controlar individualmente para que sean de cualquier color.

ATtiny85: este es el microcontrolador (computadora diminuta) que hace bailar a los NeoPixels e interactúa con varios de los componentes opcionales (receptor de infrarrojos, pulsador, etc.).

Placa de circuito impreso: la placa de circuito impreso (PCB) proporciona todas las conexiones eléctricas entre las piezas utilizadas y es la columna vertebral rígida del dispositivo. El archivo gerber comprimido que se envía a un fabricante de PCB se encuentra en esta página. Hay muchos fabricantes de tableros por ahí. Aquí está el enlace para pedir la placa de OSHPARK.

Cable de núcleo sólido de calibre 22: el cable se utiliza para conectar el anillo NeoPixel a la PCB.

Paso 3: las piezas opcionales

Las piezas opcionales
Las piezas opcionales

Hay una serie de piezas opcionales que puede considerar incluir. He aquí por qué es posible que los desee.

Receptor de infrarrojos: el receptor de infrarrojos es un solo componente que permitirá que el dispositivo sea controlado por un control remoto IR de mano estándar (piense en el control remoto de TV). Los controles remotos de diferentes fabricantes emiten diferentes señales, por lo que es posible que sea necesario modificar el firmware para reconocer su control remoto, si no es uno de los que utilicé.

Condensador electrolítico de 1μF: el condensador actúa como una especie de batería temporal que puede proporcionar energía adicional cuando la corriente eléctrica necesaria en el dispositivo cambia abruptamente (los NeoPixels pasan de desactivado a activado por completo, por ejemplo). También puede igualar el voltaje del dispositivo cuando se usa una fuente de alimentación USB barata. Si está utilizando una fuente de alimentación USB decente, puede omitirla.

Botón pulsador: el botón te permite controlar el dispositivo (¿adivina qué?) Presionando el botón.

Cabezal (s) macho (s) de 3 clavijas y puentes de derivación: estos se pueden colocar en lugar del botón pulsador para permitir que el dispositivo se configure, según la posición de los puentes de derivación. El cabezal macho de 3 pines se conecta permanentemente (se suelda) a la placa, y el puente de derivación se ajusta a presión en el cabezal y se puede quitar y reposicionar fácilmente. Si se utiliza un encabezado, el puente puede seleccionar entre dos modos diferentes. Si se utilizan ambos encabezados, entonces son posibles cuatro modos.

Enchufe DIP de 8 pines: el enchufe permite quitar y reemplazar el microcontrolador (ATtiny85) para que pueda reprogramarse más tarde si desea cambiar el funcionamiento del dispositivo. Si sabe que nunca necesitará reprogramar el microcontrolador, entonces esto no es necesario.

Cabecera en ángulo recto de 4 pines: la cabecera en ángulo recto se utiliza si desea que el conector USB se adhiera directamente a la parte posterior del dispositivo, en lugar de a un lado.

Paso 4: programe el microcontrolador

No voy a entrar en demasiados detalles sobre la programación del microcontrolador, porque las instrucciones se encuentran fácilmente en otros lugares (incluyo un enlace a continuación). Usé una placa Arduino UNO para actuar como un dispositivo de programación para el controlador usando el método descrito en este Instructable. En él, muestra el siguiente mapeo de pines Arduino a pines ATtiny para programación:

  • Arduino + 5V → ATtiny Pin 8
  • Arduino Ground → ATtiny Pin 4
  • Pin 10 de Arduino → Pin 1 de ATtiny
  • Pin 11 de Arduino → Pin 5 de ATtiny
  • Pin 12 de Arduino → Pin 6 de ATtiny
  • Pin 13 de Arduino → Pin 7 de ATtiny

El código fuente de la luz nocturna se puede encontrar aquí (https://github.com/cacklestein/led-night-light).

Paso 5: ensamble la placa (paso inicial opcional)

Ensamble la placa (paso inicial opcional)
Ensamble la placa (paso inicial opcional)
Ensamble la placa (paso inicial opcional)
Ensamble la placa (paso inicial opcional)
Ensamble la placa (paso inicial opcional)
Ensamble la placa (paso inicial opcional)

Las partes deben agregarse al tablero en un orden particular para facilitar las cosas. Si está de acuerdo con la posición del conector USB en la placa, puede omitir el resto de este paso y pasar a la siguiente parte del ensamblaje. Sin embargo, si desea que el conector sobresalga por la parte posterior de la placa, ahora es el momento de agregar el encabezado en ángulo recto.

Comience desconectando con cuidado el conector USB del resto de la placa de circuito impreso. Sostenga la parte más grande de la tabla con una mano y use unos alicates con un borde directamente al lado de la línea de perforación de los pequeños orificios para quitar con cuidado la pestaña. Deje la pestaña a un lado. lo necesitará en un paso posterior.

Coloque el encabezado en ángulo recto en la parte posterior del tablero como se muestra en la imagen. La parte posterior de la placa es el lado con "123D CIRCUITS" serigrafiado (o quizás debería decir "123D CIRC", porque acaba de romper las "UITS").

Suelde el cabezal en su lugar, aplicando soldadura en la parte superior de la placa.

Con buenos cortadores de alambre, corte los cables del cabezal que sobresalen del lado superior del tablero lo más cerca posible del tablero. Esto es importante porque esos cables se están enfermando en algún lugar en el centro de donde eventualmente irá el ATtiny85.

Paso 6: agregue el zócalo del microcontrolador

Agregue el zócalo del microcontrolador
Agregue el zócalo del microcontrolador
Agregue el zócalo del microcontrolador
Agregue el zócalo del microcontrolador
Agregue el zócalo del microcontrolador
Agregue el zócalo del microcontrolador

Ahora es el momento de soldar el conector DIP de 8 pines -O- el ATtiny85 en su lugar. Recomiendo encarecidamente usar el zócalo, ya que permite quitar y volver a colocar el ATtiny85 fácilmente en caso de que desee realizar cambios en el programa más adelante. Coloque el zócalo (o el ATtiny85 con el pin 1 más cercano al borde de la placa) a través de los 8 orificios correspondientes en la parte superior del tablero. El lado superior es el que no tiene "123D Circuits" impresos. Dale la vuelta al tablero y colócalo plano sobre la mesa u otro espacio de trabajo para mantener el zócalo en su lugar. Suelde los pines a la placa. Si agregó el encabezado en ángulo recto de 4 pines en el paso anterior, esos pines estarán un poco en el camino. Incline el hierro para soldar debajo de ellos.

Paso 7: ¡Agrega más cosas

¡Agrega más cosas!
¡Agrega más cosas!
¡Agrega más cosas!
¡Agrega más cosas!
¡Agrega más cosas!
¡Agrega más cosas!

Ahora es el momento de agregar el botón o encabezado (s) de puente, el receptor de infrarrojos y el condensador.

Si desea tener el botón pulsador, coloque los 4 pines a través de los orificios debajo del zócalo del microcontrolador en la parte superior de la placa. Notarás que hay 6 hoyos. No se preocupe por esto. Los dos agujeros del medio no se utilizarán. Da la vuelta a la placa y suelda el botón en su lugar.

Si desea utilizar los puentes de derivación en su lugar, inserte los dos cabezales de 3 clavijas (el lado más corto de las clavijas hacia abajo) en estos orificios en la parte superior. Nuevamente, voltee la placa y suelde los pines en su lugar.

A continuación, coloque el receptor de infrarrojos a través de los 3 orificios en la parte superior de la placa. Haga coincidir la orientación del mismo con el contorno de la serigrafía. insértelo todo lo que pueda y dóblelo hacia atrás de modo que el lado de la burbuja pequeña mire hacia arriba en dirección opuesta al tablero. Da la vuelta a la placa y suéldala en su lugar. Use cortadores de alambre para quitar el exceso de longitud de los pasadores del lado inferior después de soldar.

Finalmente, agregue el capacitor. Sus pines encajan a través de los dos orificios restantes sobre el receptor de infrarrojos. La franja blanca en el lado del capacitor ('-' lado negativo) mira hacia afuera del enchufe ATtiny85. Nuevamente, voltee la placa, suelde los cables en su lugar y corte el exceso con un alicate.

Paso 8: agregue el anillo NeoPixel

Agregue el anillo NeoPixel
Agregue el anillo NeoPixel
Agregue el anillo NeoPixel
Agregue el anillo NeoPixel
Agregue el anillo NeoPixel
Agregue el anillo NeoPixel

El anillo NeoPixel se fija con 4 piezas de alambre de núcleo sólido de calibre 22, con el aislamiento retirado. Comience cortando una sección de alambre de al menos 4 pulgadas de largo. Use pelacables para quitar TODO el aislamiento.

Corta este cable en 4 longitudes iguales. Doble cada cable en forma de "L" aproximadamente a 1/4 de pulgada de un extremo.

Con la parte inferior de la placa hacia arriba, inserte estos cables en los orificios de las 4 esquinas de la placa. La sección doblada evitará que se deslicen por completo. Sueldelos en su lugar y corte el exceso doblado del lado inferior con un cortador de alambre.

Voltee la placa y pase con cuidado los cables a través de los 4 orificios del anillo de NeoPixel con los NeoPixels de espaldas a la placa de circuito. Tenga cuidado de hacer coincidir los orificios del anillo NeoPixel con los de la placa de circuito. Los nombres de los agujeros están impresos en cada uno. Haga coincidir PWR, GND, IN y OUT.

Empuje el anillo hacia abajo lo más cerca posible de la placa de circuito. Las cosas pueden estar un poco apretadas, especialmente alrededor del condensador y el sensor de infrarrojos. Si el anillo no baja por completo, no se preocupe.

Sosteniendo el anillo lo más cerca posible de la placa de circuito, doble los cables para mantener las cosas en su lugar.

Suelde el anillo a los cables y corte el exceso de cable con un alicate.

Paso 9: agregue la pestaña del conector USB (paso opcional)

Agregue la pestaña del conector USB (paso opcional)
Agregue la pestaña del conector USB (paso opcional)
Agregue la pestaña del conector USB (paso opcional)
Agregue la pestaña del conector USB (paso opcional)

Si opta por que el conector USB salga directamente de la parte posterior, ahora es el momento de conectarlo al encabezado en ángulo recto de 4 pines que agregó anteriormente.

Encaja los orificios de la pestaña que quitaste anteriormente en el encabezado en ángulo recto de modo que los 4 contactos USB de cobre miren hacia el lado "CIRC" de la placa y el lado "UITS" de la pestaña mire hacia el lado "123D".

Suelde esto en su lugar.

Paso 10: agregue el ATtiny85

Agregue el ATtiny85
Agregue el ATtiny85

Si soldaste el conector DIP de 8 pines en su lugar, ahora es el momento de colocar el ATtiny85 en él.

Alinee el ATtiny85 de manera que la esquina con el punto esté más cerca del punto blanco en la placa de circuito. Presione con cuidado el ATtiny85 en su lugar, asegurándose de que todos los pines vayan donde deberían.

Paso 11: espese el conector USB

Espesar el conector USB
Espesar el conector USB

Normalmente, las placas de circuito impreso que obtiene serán un poco más delgadas de lo que se espera de un conector USB. Una solución simple para esto es cortar un pequeño cuadrado de Gorilla Tape y agregarlo a la parte posterior del conector USB (¡el lado sin los contactos de cobre USB!). Gorilla Tape es aproximadamente el doble de grueso que la cinta adhesiva normal y funcionó perfectamente para mí.

Paso 12: Pruébelo

Pruébalo
Pruébalo
Pruébalo
Pruébalo
Pruébalo
Pruébalo
Pruébalo
Pruébalo

Conecte su nueva luz nocturna a un adaptador de pared USB con alimentación u otra salida USB disponible (en su computadora, etc.). Si todo ha ido bien, ¡debería iluminarse! Si agregó el receptor de infrarrojos opcional y tiene un control remoto que funciona con el firmware (como el control remoto de Apple TV en las imágenes), puede cambiar el modo de visualización.

Alternativamente, si instaló el botón, puede presionarlo para cambiar de modo.

Si, en cambio, instaló los encabezados de los puentes de derivación, entonces los puentes de derivación se pueden colocar para cambiar el modo de visualización de inicio.

Paso 13: Configuración del puente de derivación

Configuración del puente de derivación
Configuración del puente de derivación

Si elige instalar los encabezados de los puentes de derivación, puede configurar el modo de inicio, según la ubicación de los puentes de derivación:

Posición izquierda A + Posición derecha A: modo arco iris giratorio

Posición izquierda B + Posición derecha A: modo de cambio de color

Posición izquierda A + Posición derecha B: modo de brillo aleatorio

Posición izquierda B + Posición derecha B Modo de color sólido que no cambia

Paso 14: uso de un control remoto

Usando un control remoto
Usando un control remoto
Usando un control remoto
Usando un control remoto

Encontré un control remoto económico en EBay que está diseñado para funcionar con iluminación LED de colores. Parecía un ajuste natural. Grabé los códigos generados por cada botón y configuré el firmware para que actuara en consecuencia. La imagen de arriba indica lo que hacen los diferentes botones.

Si no tiene este control remoto, puede encontrar los códigos asociados con la mayoría de los otros controles remotos utilizando exactamente el mismo código fuente de Arduino, pero en un Arduino real, en lugar del ATtiny85. El programa genera un código asociado con la pulsación de cualquier botón de la mayoría de los controles remotos en la consola en serie. Para hacer esto, conecte el módulo receptor de infrarrojos en las ranuras 2, 3 y 4 del cabezal de clavija digital, con la lente hacia el resto de la placa.

En la imagen de arriba, el código 0xFD00FF corresponde al botón de encendido del control remoto DFRobot IR. Aquí está el código que se ejecuta en Tinkercad. Para probarlo, haga clic en "Código", seguido de "Monitor en serie", seguido de "Iniciar simulación". En ese momento, puede comenzar a presionar los botones del control remoto virtual para ver la salida de texto de la consola en serie:

Regístrelos para cada botón de su control remoto. Luego puede modificar el código fuente para agregar los códigos de los botones para su control remoto.

Recomendado: