Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Componentes y suministros

Componente Cantidad Notas
Arduino Mega 2560 1
LED azul 125
Transistor NPN NTE85 5 Para llevar los cátodos de cada capa a tierra
Alambre de cobre estañado calibre 22 1 Une las capas y lleva los cátodos a la placa principal
Resistencia 180 Ω, 1/4 W 25 Para los ánodos de los LED
Placa de prototipado 9 cm × 15 cm 1
Resistencia 330 Ω, 1/4 W 5 Para la prueba de paneles
Fuente 9 V para Mega (opcional) 1 El cable USB alimenta el cubo; esto es para uso fijo

Herramientas necesarias

Aplicaciones y servicios en línea

Sobre el proyecto

Introducción

La mayoría de los aficionados adoran los cubos LED, pero los grandes (8×8×8) requieren mucho trabajo tanto en la construcción como en la programación. Los pequeños (3×3×3 o 4×4×4) son fáciles de montar porque no necesitan registros de desplazamiento ni drivers de lado alto, pero no ofrecen la misma experiencia visual que un cubo grande.

Mi objetivo desde el inicio fue crear un cubo fácil de construir y desarrollar suficiente software atractivo para disfrutar la sensación de un cubo grande sin la tediosa complejidad. Este cubo 5×5×5 se alimenta directamente desde un Arduino Mega sin registros de desplazamiento ni hardware auxiliar, salvo 5 transistores que llevan a tierra los cátodos de los 25 LED de cada capa. ¿Por qué evitar los registros de desplazamiento? Porque su cableado manual es terriblemente complicado; se necesita diseñar y fabricar un PCB para usarlos cómodamente.

He adaptado muchas animaciones que escribí para cubos grandes para que funcionen en este 5×5×5.

NOTA: No soy el primero en proponer un cubo 5×5×5 alimentado por un Mega. MEGA DAS publicó un proyecto similar en 2017. El hardware es casi idéntico; no lo vi hasta que empecé a documentar este proyecto, por lo que mis asignaciones de pines y valores de resistencia difieren. Lo publico principalmente porque tengo amplia experiencia escribiendo software para cubos y espero que mi código anime a más gente a construir uno.

El vídeo muestra una función de onda senoidal donde la amplitud está en el eje Z y el tiempo se representa como distancia horizontal desde el centro. Es un clásico impresionante en cubos grandes y también luce bien en este 5×5×5.

Hardware

El Mega dispone de muchos pines digitales. Usamos 5 para activar los transistores que conectan los cátodos de cada capa a tierra, y 25 más para llevar alto los ánodos de los 25 LED dentro de una capa. Con este enfoque, el Mega incluso podría manejar un cubo 6×6×6. El otro límite es la corriente: 40 mA por pin y 200 mA totales. Los LED azules tienen una caída directa de ~3 V; los transistores de cátodo común añaden ~0,7 V. Con 5 V y resistencias de 180 Ω, cada LED consume 7,2 mA. 25 LED por capa consumen 180 mA si todos están encendidos. Como solo activamos una capa a la vez, cumplimos los límites del Mega, siempre que usemos transistores NPN para llevar los cátodos a tierra. La corriente de base de un transistor añade ~5 mA, manteniendo el total en ~185 mA.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega
Asignación de pines: pines 22–26 controlan los transistores de cátodo; pines 27–51 van a los ánodos a través de resistencias de 180 Ω.

La disposición de pines puede parecer confusa porque mi software usa acceso directo a puertos en lugar de digitalWrite para configurar los ánodos. Esto ahorra mucho tiempo y mantiene los LED encendidos más tiempo. La asignación está organizada para facilitar las referencias a los puertos digitales.

Construcción del cubo

Hay muchas opiniones sobre cómo construir un cubo; la tarea es tediosa sea cual sea el método. Se requiere cuidado y paciencia para un buen resultado. Muestro mi enfoque, pero hay otras guías en línea.

La construcción comienza formando los terminales y soldando los LED en columnas de 5. Luego se unen 5 columnas para formar un panel y finalmente se sueldan 5 paneles para formar el cubo. Los errores pequeños en ángulos y espaciado se acumulan y son visibles. El formado de terminales es crítico: tómate tu tiempo.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega
Los ánodos (terminal largo) se doblan hacia un lado para soldar columnas verticales; el cátodo queda a 90°.

Yo formo 25 LED y luego construyo un panel. Necesitas un jig tanto para columnas como para paneles. Uso Blue Tack: los LED se presionan en la masilla y quedan fijos mientras sueldas. Las hendiduras permiten repetir el proceso con el mismo espaciado. Medí 0,6 pulgadas (15,24 mm) entre LED en las tres direcciones, lo que permite insertar el cubo terminado en una placa con agujeros estándar de 0,1 pulgadas.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega
Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Nota sobre el soldado de LED: La pesadilla de todo constructor es terminar el cubo y descubrir una soldadura fría en el interior, inaccesible. Verifica cada unión al construir cada columna.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega
Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Al terminar cada panel, pruébalo. Incluyo un sketch de prueba: conecta los 5 ánodos verticales a resistencias de 330 Ω y a pines 40–44; conecta los 5 cátodos a pines 22–26. Un panel bueno encenderá todos sus LED. (Aún no usamos transistores, así que la prueba lleva los cátodos a LOW; con transistores será al revés).

Con 5 paneles probados, preparamos la placa principal insertando y conectando todas las resistencias y transistores.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega
Resistencias de 180 Ω junto a cada columna de ánodos; transistores y resistencias de base entre el cubo y el Mega. Espaciado de 0,6 pulgadas (5 agujeros vacíos entre columnas).

Monta el Arduino en la placa (soportes o un separador plástico). Suelda cada panel a la placa principal verificando que cada columna de ánodo caiga en el agujero correcto; un error de un agujero se notará. Mantén todos los paneles orientados igual (cátodos saliendo por el mismo lado).

Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Conecta los paneles entre sí en cada capa para unir los 5 cátodos de esa capa. Usa alambre de cobre estañado rectificado.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Lleva los cátodos de cada capa a la placa principal (colector del transistor correspondiente), de nuevo con alambre de cobre estañado rectificado.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Conecta todas las resistencias al Mega y prueba el cubo completo con el sketch de prueba incluido: encenderá cada LED en orden. Como ya probaste los paneles, cualquier fallo ahora probablemente esté en las conexiones de cátodo recientes (una capa o parte de ella). Lo más probable es una soldadura fría.

Software

El estado de cada LED se define en un array global byte cube[5][5][5]: 1 = encendido, 0 = apagado. Todas las animaciones se crean poniendo 1s y 0s en ese array.

El corazón del software es la interrupción temporizada que refresca el cubo. Se inicia en setup() y reside al final del programa. Se llama cada 10 ms y tarda ~6 ms en refrescar, dejando 4 ms para el bucle principal.

Durante el refresco, cada capa se enciende 1,2 ms. Refresco a 100 Hz. Cada LED encendido está activo 120 ms/segundo (ciclo de trabajo 12 %). Los 100 Hz son suficientes para que el ojo lo vea continuo, y el 12 % de ciclo de trabajo da un brillo sorprendentemente cercano al continuo.

Para minimizar el ciclo de refresco y maximizar el tiempo de encendido, evitamos digitalWrite y usamos acceso directo a puertos. En la rutina de interrupción verás 25 líneas separadas de acceso directo a puerto; parece feo, pero es mucho más rápido que un bucle con digitalWrite.

El loop() llama a cada animación en secuencia y vuelve a empezar. Cada animación está en su propia subrutina; algunas llaman a otras. Hay rutinas utilitarias compartidas: clearCube() apaga todo, copyDown() desplaza el contenido de cada capa a la inferior y limpia la superior.

Hay tres sketches descargables: el principal con 15 animaciones (las del vídeo), y dos de prueba (panel y cubo) para usar durante la construcción.

Código

Partes personalizadas y cajas (opcional)

Si tienes impresora 3D y quieres la caja que se ve en mis vídeos, aquí está el archivo.

Esquemáticos

Esquema básico con las conexiones exactas entre el cubo y el Mega.

Construye un impresionante cubo LED 5x5x5 con Arduino Mega
Construye un impresionante cubo LED 5x5x5 con Arduino Mega

Proceso de manufactura

  1. Fabricación de Tablas de Planchar: Diseño, Materiales y Proceso Productivo
  2. El cubo de Rubik: de la invención al rompecabezas moderno
  3. Placas de Circuito Impreso: Diseño, Fabricación y Tendencias Futuras
  4. Construcción y Diseño de Tablas de Surf: De Raíces Polinesias a la Innovación Moderna
  5. Diodos Emisores de Luz (LED): Desde sus Inicios a Vidas de 100 Años
  6. Placa RasPiRobot Board V2: Convierte tu Raspberry Pi en un Controlador de Robot Potente
  7. Reloj de Palabras DIY con Arduino: Construye una Pantalla Elegante en Tiempo Real
  8. Proyecto Arduino Melodía Coffin Dance: Construya y Reproduzca el Viral Tune
  9. Moderniza tu Hogar: Interruptor Táctil Inteligente con Monitor de Temperatura en Arduino
  10. Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
  11. Calculadora Básica con Arduino UNO - Proyecto Fácil para Principiantes