Tabla de contenido:

Digispark y WS2812 Rainbow Wheel en una caja: 4 pasos (con imágenes)
Digispark y WS2812 Rainbow Wheel en una caja: 4 pasos (con imágenes)

Video: Digispark y WS2812 Rainbow Wheel en una caja: 4 pasos (con imágenes)

Video: Digispark y WS2812 Rainbow Wheel en una caja: 4 pasos (con imágenes)
Video: ПОКАЗЫВАЙ И РАССКАЖИ 22.11.17 #покажиирасскажи @adafruit #adafruit 2024, Noviembre
Anonim
Image
Image
Digispark y WS2812 Rainbow Wheel en una caja
Digispark y WS2812 Rainbow Wheel en una caja
Digispark y WS2812 Rainbow Wheel en una caja
Digispark y WS2812 Rainbow Wheel en una caja

Este pequeño proyecto se ha realizado en torno a una caja de madera de 10x6x5cm bellamente tallada que encontré en una tienda.

Su mejor característica, que en realidad no ha sido captada correctamente por la cámara, es iluminar con colores brillantes y saturados los lados de la tapa tallada en árbol de la caja.

Por otro lado, tenga en cuenta que el uso de un efecto de arco iris en una tira de LED RGB 5050 estrechos siempre dará como resultado una iluminación blanquecina a algunos centímetros de los LED, ya que el color de cada píxel pronto se mezcla con el de sus vecinos. Si desea evitar este efecto, puede intentar usar alguna lente de enfoque

El brillo de la lámpara se mantiene proporcional a la luz ambiental gracias a un LDR: la lámpara brillará en condiciones de luz diurna y no será demasiado brillante cuando se use como luz nocturna, en la oscuridad.

Suministros

Lista de materiales:

  • una placa Attiny85 Digispark (clon), con su cargador de arranque Micronucleus
  • una barra 8x WS2812
  • un LDR, utilizado para ajustar el brillo de la lámpara en función del entorno
  • una resistencia pull-up de 10KΩ para el LDR
  • un micro cable USB para programar el Digispark y encender la lámpara una vez hecho esto
  • una caja de madera hueca
  • una fuente de alimentación de 5 V⎓ (capaz de proporcionar no menos de 500 mA)

Habilidades y herramientas:

  • PlatformIO (que se ejecuta en Visual Studio Code) como IDE; sin embargo, cualquier IDE de Arduino hará el trabajo
  • un soldador, algo de alambre de soldadura y habilidades básicas de soldadura
  • algo de cableado, tijeras
  • un poco de pegamento, pinzas
  • un poco de pintura opaca (para cubrir Digispark LED y proteger el LDR de ser influenciado por la luz de la lámpara)

Paso 1: Digispark y PlatformIO

Digispark (y cada clon que involucra el mismo microcontrolador de 8 bits) es una placa de ruptura construida alrededor de un AVR Attiny85, capaz de una comunicación USB sencilla gracias a un cargador de arranque Micronucleus. Encuentre más información en su wiki:

PlatformIO es el ecosistema que utilicé para programar Digispark. Para trabajar con él, debe instalar Visual Studio Code

Paso 2: Esquema y cableado

Esquema y cableado
Esquema y cableado
Esquema y cableado
Esquema y cableado
Esquema y cableado
Esquema y cableado

Soldadura

  1. conecte tres cables a la barra WS2812 (tierra, entrada de energía y entrada de datos)
  2. cable de tierra y Vcc a 5V y pin GND del Digispark
  3. suelde el cable restante al pin P0 de Digispark
  4. suelde una resistencia de 10KΩ a los pines GND y P2 de la placa
  5. use dos cables para conectar el LDR a los pines de 5V y P2 (usé cables esmaltados apenas visibles por razones estéticas)

Paso 3: firmware

Encuentre el código para este proyecto en mi GitHub:

Bueno saber:

  • #include debe usarse mientras se trabaja con PlatformIO
  • los parámetros, como la asignación de pines, el número de LED WS2812, la velocidad de la rueda del arco iris y los umbrales de oscuridad / brillo para los LED y LDR se encuentran al comienzo del código
  • Adafruit Neopixel es la biblioteca utilizada para controlar los LED WS2812
  • La biblioteca RunningMedian se utiliza para hacer que las lecturas de LDR sean más estables; debido a los límites establecidos, el mapeo de los límites de brillo del LED, esto es especialmente bueno en condiciones de bajo brillo, donde una pequeña fluctuación puede resultar en un parpadeo molesto
  • No encontrará ningún intento de bloquear el Attiny85, por lo que el proyecto seguirá siendo editable

Algunas sugerencias (que también aparecen en el archivo README.md en GitHub):

  • Para cargar el código, asegúrese de tener un cable USB con cada pin conectado: los cables de carga baratos a menudo tienen solo + 5V y están conectados a tierra
  • La carga de PlatformIO a DigiSpark requiere que conecte DigiSpark después de compilar, aunque la consola no advierte "ahora es el momento de conectar su DigiSpark", como lo hace Arduino IDE.
  • Solución rápida para el problema al cargar a DigiSpark desde PlatformIO en MacOS: problema de PIO 111
  • Los cargadores USB baratos pueden proporcionar una salida sucia / ruidosa, lo que podría hacer que los LED parpadeen de manera extraña, especialmente con un brillo bajo: asegúrese de tener una fuente limpia de 5 VCC o de filtrar agregando un condensador (o un circuito más adecuado)

Paso 4: Carcasa y acabado táctil

Carcasa y acabado táctil
Carcasa y acabado táctil
Carcasa y acabado táctil
Carcasa y acabado táctil
Carcasa y acabado táctil
Carcasa y acabado táctil
  • Haga un agujero en la caja de su elección para alojar el proyecto, para conectar su cable USB. Tenga en cuenta que cuanto más grande sea el orificio alrededor del conector micro USB, mayor será la fuga de luz de su barra LED, a menos que no proporcione un sello opaco.
  • Haga un agujero para el LDR; asegúrese de que no apunte hacia el área que será iluminada por los LED, de lo contrario, la autorregulación caerá en un bucle
  • Grabe la superficie interior para dejar espacio para la barra de LED, ya que no debería querer ver los LED directamente mientras mira su lámpara
  • Selle con un medio opaco la parte inferior del LDR, para evitar cualquier interferencia en el brillo del ambiente de detección causado por la barra WS2812
  • Utilice una gota de pintura opaca para enmascarar el led de encendido Digispark, evitando así que brille dentro de la caja
  • Pegue el tablero Digispark, la barra LED, el LDR y todos los cables para evitar que el interior de su caja hueca se vea desordenado
  • Prevea un cable USB con interruptor, para encender y apagar fácilmente la lámpara

Recomendado: