Crear iluminación de marquesina LED dinámica con Arduino Nano y NeoPixels
Componentes y suministros
| Arduino Nano R3 | ×1 |
| Tira NeoPixel | ×1 |
Aplicaciones y servicios en línea
- Arduino IDE
Sobre este proyecto
Iluminación animada de marquesina DIY sencilla
Este tutorial muestra cómo añadir iluminación animada a tu máquina arcade u otros proyectos. Puede utilizarse para iluminar marquesinas (frontal o trasera) y muchos otros propósitos.
Necesitarás un Arduino Nano (o placa compatible), una tira de NeoPixels y 3 cables.
El montaje
Consulta el vídeo a continuación para ver el proceso de construcción:
Configuración rápida
Hardware: Solda tres cables desde el Arduino Nano a la tira NeoPixel: 5V, señal digital (usé el pin 2 del Arduino) y tierra.
Consejo: Usa un trozo de termorretráctil para agrupar los cables, especialmente la tira LED (asegúrate de cubrir las conexiones de soldadura). Esto evitará que las soldaduras se suelten.



Código: Configura el número de LEDs de la tira conectada en el sketch, cárgalo al Arduino y pruébalo. Usé animaciones de "barrido", parpadeo y pulsación, solo en color blanco. Puedes ajustar el código para todo tipo de animaciones y colores, o simplemente usarlo como retroiluminación simple.

La construcción: Corté dos piezas de cartón que encajan perfectamente en mi gabinete. Una sirve como fondo para pegar la tira NeoPixel. La otra se coloca plana detrás de la base de la marquesina para evitar que la luz de los NeoPixels brille directamente hacia abajo. Después tuve que recortar algunos bordes pequeños para que encajara en mi gabinete.

Puse unos trozos de cinta de tela (gaffa tape) sobre el cartón para oscurecerlo. Pegué la tira NeoPixel al cartón y sujeté los cables y el Nano a la parte trasera con cinta.



Coloca las dos piezas en el gabinete y conecta un cable USB desde el Nano a una fuente de 5V. En mi caso, lo conecté a un puerto USB de una Raspberry Pi.

Luego vuelve a colocar la marquesina original o crea la tuya propia para personalizar tu construcción. Yo hice una sencilla, la imprimí en papel fotográfico y la recorté a medida.
Consejo: El resultado final será aún mejor si haces imprimir tu diseño en película por una imprenta profesional.

Librerías
El sketch necesita una librería:
- Librería Adafruit NeoPixel
Licencia
Partes del sketch se encontraron en internet, todo el crédito va para sus creadores. Libre para uso personal, no para fines comerciales. Contacto: ericBcreator@gmail.com
Código
Código de luz de marquesina animada Arduino
/* **********************************************************************
* Iluminación de marquesina con Neopixels por ericBcreator
* script simple para iluminar una marquesina (arcade)
**********************************************************************
* última actualización 20181021 por ericBcreator
*
* Inspirado en un artículo de sandyjmacdonald
* https://sandyjmacdonald.github.io/2015/12/02/picade-errata/
*
* componentes:
* - Tira Neopixel
* - Arduino Nano
*
* Este código es libre para uso personal, no para fines comerciales.
* Por favor, mantén esta cabecera intacta.
*
* contacto: ericBcreator@gmail.com
********************************************************************** */
// incluir las librerías
#include <Adafruit_NeoPixel.h>
#define PIN 2 // pin al que está conectada la tira
// configurar variables e inicializar la tira neopixel
int numOfLeds = 11; // número de LEDs en la tira
int minBrightness = 80; // brillo mínimo del pulso y parpadeo (0-255)
int maxBrightness = 255; // brillo máximo del pulso y parpadeo (0-255)
int walkingLedsDelay = 250; // retraso en ms para LEDs en barrido
int flashDelay = 250; // retraso en ms para parpadeo
int numOfFlashLoops = 3; // número de veces que parpadean los LEDs
int numOfPulseLoops = 10; // número de veces que pulsan los LEDs de min a max
int pulseDelay = 20; // retraso en ms al pulsar de min a max y viceversa
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numOfLeds, PIN);
// setup
void setup() {
strip.begin();
}
// bucle principal
void loop() {
walkingLeds(); // muestra LEDs en barrido
flashLeds(); // parpadea los LEDs
for (int i = 0; i < numOfPulseLoops; i++) // pulsa los LEDs
pulseBrightness();
}
// funciones
void walkingLeds() {
setLedColorsToZero();
strip.setBrightness(maxBrightness);
strip.show();
for (int x = numOfLeds; x > 0; x--) {
strip.setPixelColor(x, strip.Color(255, 255, 255));
strip.show();
delay(walkingLedsDelay);
strip.setPixelColor(x, 0);
strip.show();
}
}
void flashLeds() {
setLedColors();
for (int i = 0; i < numOfFlashLoops; i++) {
strip.setBrightness(maxBrightness);
strip.show();
delay(flashDelay);
strip.setBrightness(minBrightness);
strip.show();
delay(flashDelay);
}
}
void pulseBrightness() {
setLedColors();
for (int i = minBrightness; i < maxBrightness; i++) {
strip.setBrightness(i);
strip.show();
delay(pulseDelay);
}
for (int i = maxBrightness; i > minBrightness; i--) {
strip.setBrightness(i);
strip.show();
delay(pulseDelay);
}
}
void setLedColors() {
for (int x = 0; x < numOfLeds; x++)
strip.setPixelColor(x, strip.Color(255, 255, 255));
}
void setLedColorsToZero() {
for (int x = 0; x < numOfLeds; x++)
strip.setPixelColor(x, strip.Color(0, 0, 0));
}
Esquemáticos

Proceso de manufactura
- Construya una Red de Sensores Inalámbrica Económica para su Hogar
- Construya un robot con streaming de vídeo controlado por Internet con Arduino y Raspberry Pi
- Controla tu Ventilador de Techo con Alexa: Guía Paso a Paso
- Monitoriza la Temperatura de tu Hogar desde Cualquier Lugar con Integración Arduino Cloud
- Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
- Integra tu calefacción central con Arduino para control inteligente
- ThimbleKrox: Control de ratón montado en el dedo con Arduino Micro y MPU-6050
- Juego Pong 1D con Arduino Nano y tira LED WS2812: Tutorial paso a paso
- Desbloquee Automatización Avanzada: Por Qué la Visión 3D Es Esencial para sus Proyectos
- Domine el diseño eléctrico: Optimice proyectos con funciones de E3.schematic
- Arduino MKR1000: Pinout, Especificaciones y Guía para Proyectos IoT