Tabla de contenido:
- Paso 1: la cúpula
- Paso 2: haz los puntales
- Paso 3: construye el domo
- Paso 4: ¡Levántalo
- Paso 5: planifique el aspecto que deben tener los LED
- Paso 6: más información sobre el diseño de los LED
- Paso 7: coloque los fadecandys y las fuentes de alimentación
- Paso 8: Convertir las líneas en tiras
- Paso 9: preparación de la tira de LED
- Paso 10: haz los paneles
- Paso 11: Ate con cables la tira de LED a los paneles
- Paso 12: cuelgue los paneles en el domo
- Paso 13: Cree paneles de distribución de energía y datos
- Paso 14: revestimiento de tela
- Paso 15: colgar la tela
- Paso 16: Colocación del Kinect
- Paso 17: Piso
- Paso 18: Esa es la compilación hecha … ¡en el código
- Paso 19: servidor Fadecandy
- Paso 20: configurar el servidor Fadecandy
- Paso 21: mapeo de píxeles
- Paso 22: Integración de Kinect
- Paso 23: Seguimiento de profundidad de Kinect
- Paso 24: ¡Cúpula lista
Video: Domo LED interactivo con Fadecandy, Processing y Kinect: 24 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Qué
Cuando en Dome hay un domo geodésico de 4,2 m cubierto con 4378 LED. Los LED están todos asignados y direccionables individualmente. Están controlados por Fadecandy y Processing en un escritorio de Windows. Un Kinect está conectado a uno de los puntales de la cúpula, por lo que se puede rastrear el movimiento dentro de la cúpula y las personas pueden interactuar con las luces.
Por qué
Estoy explorando la experiencia grupal a través de la interacción compartida. Me gusta crear interfaces que mucha gente pueda usar al mismo tiempo. La superficie LED del domo ofrece una salida adecuada para una interfaz multiusuario porque es enorme, por lo que mucha gente puede verla. La cúpula también crea un espacio esférico y acogedor, que anima a las personas a volverse unas hacia otras. El Kinect funciona muy bien como una entrada de múltiples usuarios porque las personas pueden moverse y afectar el campo de profundidad al mismo tiempo, el único límite es cuántas personas pueden caber juntas en el espacio.
Estoy desarrollando continuamente nuevos métodos de interacción para When in Dome, para ver qué efecto tienen los diferentes métodos de entrada y qué funciona bien para diferentes grupos de personas. Estoy particularmente interesado en ver qué interfaces fomentan la conexión entre amigos y extraños dentro del domo, y qué hace que la experiencia compartida se sienta significativa y valiosa.
Dónde
Diseñé y construí When in Dome como el proyecto final de mi maestría, que fue Design for Performance and Interaction en el Interactive Architecture Lab, The Bartlett, UCL.
Cómo
Algunas de las tecnologías y herramientas utilizadas:
- Fadecandy
- Procesando
- Kinect (obtuve el mío en eBay)
- Sierra de inglete
- Sierra de pista
- Máquina de coser
- Soldador
- Pistola de calor
- Pistola de silicona
- Cortador láser
- Taladro
Algunos de los equipos utilizados:
- Kit de buje Buildwithhubs
- Madera aserrada tratada para puntales de cúpula
- Madera contrachapada de álamo de 4 mm
- Tejido de difusión blanco
- Tela negra
- Barra plana de aluminio
- Conectores wago
- Cable 12awg y 24awg
- Fuentes de alimentación 5v 30A
- Suelo de espuma
- Conectores jst
- Condensadores
¡Vamos
Hay muchos componentes en este proyecto de los que hablaré, ¡espero que encuentren algo útil e interesante dentro!
Paso 1: la cúpula
Kit de cubo
Decidí construir mi domo con un kit de buildwithhubs y definitivamente los recomendaría.
Venden kits de conectores y dan consejos sobre qué materiales comprar para los puntales. La mayoría de sus cúpulas se utilizan en los propios jardines de la gente, mientras que la mía será pública, así que también compré su kit de tapas extra seguras, que evitan que los puntales se salgan si alguien se apoya en la cúpula.
Tamaño
Mi cúpula tiene 4,2 m de diámetro. Elegí este tamaño porque significaba que el lado más largo de los triángulos que formaban la cúpula sería de 1,2 m, y esto encajaba muy bien en las láminas de madera contrachapada cuando llegué a hacer los paneles para sostener los LED.
Paso 2: haz los puntales
Longitudes
Usé la calculadora de puntales de buildwithhubs para calcular las longitudes necesarias para hacer una cúpula de 4,2 m. 30 "cortos" a 1059 mm y 35 "largos" a 1209 mm.
Material
2 paquetes de 24 madera aserrada de 19 mm x 38 mm x 2400 mm de B&Q (como se recomienda en el sitio de buildwithhubs) son suficientes para una cúpula. Esto funciona bastante bien, pero si lo volviera a hacer, obtendría algo que tuviera más fuerza lateral.
Proceso
Los puntales se cortaron a medida con una sierra de inglete y luego los pinté colocándolos todos planos sobre una hoja de polvo y pasando el rodillo sobre ellos. ¡Esto hizo un timelapse divertido!
Luego, los reuní en lotes de 6 a la vez y atornillé las piezas del conector en los extremos.
Paso 3: construye el domo
Una vez que se hacen los puntales, construir la cúpula es muy fácil. No voy a hablar sobre el proceso en detalle, ya que hay instrucciones en el sitio buildwithhubs y también proporcionan un folleto.
Paso 4: ¡Levántalo
No quería que los paneles LED estuvieran junto al piso, ya que esto significaría que muchos de ellos serían bloqueados por personas en la cúpula. También quería hacer la cúpula más alta para que se sintiera más espaciosa y acogedora.
Piernas
Hice patas de 50 cm de alto con 2x4 y atornillé los mismos conectores en ellos que los puntales.
Luego, para aumentar la resistencia y la integridad estructural de la base, utilicé una barra plana de aluminio para crear X entre cada sección de la pierna.
La puerta
Quité uno de los puntales horizontales para hacer una puerta y lo reemplacé con un trozo de madera contrachapada en el piso para mantener las patas en el espacio correcto.
Paso 5: planifique el aspecto que deben tener los LED
Software
Utilicé SketchUp para mi trabajo de planificación 3D porque está disponible para su uso gratuito en una aplicación en el navegador. Afortunadamente (como no soy un experto en modelado 3D) encontré un modelo de domo geodésico disponible en el almacén 3D, donde hay montones de modelos gratis.
¿Cuántos LED?
El diseño tenía que tener en cuenta la estética, pero también la potencia y la distribución de datos. Decidí usar 11 Fadecandys (y 11 fuentes de alimentación) para cubrir 33 de los triángulos de la cúpula. Esto significaría que los Fadecandys (y las fuentes de alimentación) conducirían 3 triángulos cada uno, y que un lado de la cúpula podría estar abierto para que la gente pudiera ver el interior desde el exterior.
Esto me dio un máximo de 512 LED por 3 triángulos, ya que cada Fadecandy puede manejar 8 tiras de hasta 64 cada una.
Decidir sobre un diseño
¡No todos los triángulos son iguales! Mi domo es de estilo 2V, lo que significa que tiene dos tipos de triángulos, equiláteros e isósceles.
Se me ocurrieron cuatro diseños potenciales diferentes para los LED y me dirigí a Instagram para preguntarle a la gente cuál les gustaba más. El estilo 1 y el estilo 3 parecían triunfar. El estilo 3 fue mi favorito, pero los triángulos concéntricos en el estilo 3 en realidad requieren mucha más tira de LED que el diseño de rayas, así que me decidí por el estilo 1. Esto significa que hay 8 triángulos equiláteros con diseño de LED de triángulo concéntrico y 25 triángulos isósceles con LED de rayas diseño.
Dado que los triángulos equiláteros son más grandes y contienen el diseño concéntrico, utilizan muchos más LED cada uno que los triángulos isósceles. Por lo tanto, tuve que dividir los equiláteros entre los Fadecandys.
8 de los Fadecandys controlan 1 triángulo equilátero y 2 triángulos isósceles cada uno. 3 de los Fadecandys controlan 3 triángulos isósceles cada uno.
Paso 6: más información sobre el diseño de los LED
Con el diseño general decidido, necesitaba calcular exactamente cuántos LED colocaría en cada panel. Hice esto usando una combinación de una hoja de cálculo para encontrar la mejor manera de maximizar las capacidades de Fadecandy y dibujos a escala en Illustrator, para poder ver cómo se vería el diseño.
Maximización de la capacidad de Fadecandy: líneas y tiras
Mencioné anteriormente que cada Fadecandy puede manejar hasta 8 tiras de 64 píxeles cada una. Mis triángulos contienen muchas líneas de varias longitudes de píxeles, algunas líneas con muy pocos píxeles.
Si tuviera que tratar cada una de esas líneas como una tira, estaría perdiendo MUCHA capacidad del Fadecandy.
Por el contrario, si quisiera maximizar completamente la capacidad de Fadecandy y tener 64 LED en cada tira, necesitaría tener algunas tiras que comenzaran en el medio de una línea, y será confuso mapearlas más adelante.
Tuve que encontrar la mejor manera de unir las líneas en tiras para maximizar la capacidad de tira tanto como fuera posible, sin dividir las líneas.
En el final…
Los paneles equiláteros tienen cuatro tiras, compuestas por:
- 30, 30 (60 en total - rojo en la imagen adjunta)
- 30, 22 (52 en total - naranja en la imagen adjunta)
- 22, 22, 14 (58 en total - amarillo en la imagen adjunta)
- 14, 14, 6, 6, 6 (46 en total - verde en la imagen adjunta)
Los paneles isósceles tienen dos bandas, compuestas por:
- 23, 28 (51 en total - azul en la imagen adjunta)
- 3, 7, 11, 15, 19 (55 en total - morado en la imagen adjunta)
Paso 7: coloque los fadecandys y las fuentes de alimentación
Esta imagen muestra una vista aplanada de la superficie de la cúpula.
Los paneles LED
Cada panel triangular ha sido etiquetado con un número del 1 al 11, que se refiere al Fadecandy que lo controla. Cada Fadecandy tiene tres triángulos, por lo que los triángulos también tienen una letra, A-C.
Otros elementos
Los recuadros verdes muestran la ubicación de los Fadecandys. Cada Fadecandy está montado en un pequeño panel que también distribuye la energía, lo mostraré en detalle en unos pocos pasos.
Los recuadros de color violeta muestran los concentradores USB. Los Fadecandys están conectados a un escritorio de Windows, a través de estos concentradores.
Los recuadros azules muestran la ubicación de las fuentes de alimentación, que se encuentran en 3 cajas secas, en el suelo alrededor del domo.
Solo para hacerlo un poco más complicado
Si compara la ubicación de FC10 y FC11, notará que FC10 está más cerca de la línea más larga de sus paneles isósceles, mientras que FC11 está más cerca de la línea más corta.
Además, si miras 10C, verás que Fadecandy está a la derecha, mientras que 10A está a la izquierda.
Tuve que tener en cuenta estas variaciones al considerar cuánto cable necesitaba cada tira de LED al principio y al mapearlas.
Paso 8: Convertir las líneas en tiras
Esta hoja de cálculo fue para determinar cuánto cable se necesitaba al comienzo de cada sección de la tira de LED.
¿Cuánto cable se necesita?
Algunas líneas están etiquetadas como "jst", lo que significa que son el comienzo de la tira y solo necesitan un conector JST.
Algunas tiras tienen "jst" y una longitud, lo que significa que la tira comienza a cierta distancia del Fadecandy (como vimos en el diseño en el paso anterior), y necesita esa longitud de cable para alcanzarlo antes de agregar el conector JST.
Algunas tiras solo tienen una longitud, lo que significa que deben unirse a la sección de la tira anterior mediante esa longitud de cable.
Paso 9: preparación de la tira de LED
La tira de LED
Estoy usando una tira de LED estilo ws2812b, que tiene tres entradas, alimentación de 5 V, tierra y datos. El uso de conectores JST hembra de 3 pines me permite conectar cada uno de estos pines individualmente. Las contrapartes macho de los conectores JST suministrarán la energía y los datos.
Soldadura
Usando mi hoja de cálculo del paso anterior, corté toda la tira de LED en las longitudes requeridas, soldada en las longitudes requeridas de cable y los conectores JST. También coloco un condensador al comienzo de cada tira, esto es para evitar que los picos en la corriente inicial arruinen el primer píxel de la tira. (Esto me ha sucedido antes en proyectos anteriores en los que no agregué el condensador, por lo que definitivamente vale la pena hacerlo).
Sellando
Agregué un poco de silicona RTV a la parte expuesta de la tira, la cubrí con un termocontraíble transparente y la limpié con una pistola de calor para sellar la impermeabilidad.
Paso 10: haz los paneles
Material
Decidí usar madera contrachapada de álamo de 4 mm para hacer los paneles. Lo mantuve delgado para reducir el peso. Calculé el peso total de la madera contrachapada y me comuniqué con buildwithhubs para verificar si estaba dentro de los límites de peso para colgar cosas de la estructura del domo. Dado que el peso se distribuye de manera bastante uniforme a lo largo de la cúpula, está bien. Me hubiera encantado usar acrílico, pero desafortunadamente estaba fuera de mi presupuesto para este proyecto.
Accesorio de tira de LED
No quería pegar la tira de LED directamente a los paneles, ya que me gustaría poder reemplazar las secciones de la tira defectuosa y potencialmente reutilizar toda la tira en algún momento, así que decidí hacer agujeros en los paneles para usar bridas para cables. Los puntos de la imagen adjunta muestran el diseño de los orificios de las bridas para cables.
Cortar los paneles
Hay 33 triángulos en total, y caben en 9 hojas de madera contrachapada de 2440 x 1220 mm a través del diseño que ve en la imagen adjunta.
En un mundo ideal, habría colocado cada una de las 9 hojas de capas directamente en un cortador láser y habría cortado los triángulos y los orificios de las abrazaderas de cables al mismo tiempo. Lamentablemente, vivimos en un mundo donde los cortadores láser de 2440 x 1220 mm son raros, por lo que los triángulos tuvieron que cortarse con una sierra de cadena.
Más triste aún, tampoco vivimos en un mundo donde incluso uno de mis paneles triangulares encajaría en el cortador láser en la escuela, así que tuve que cortar con láser una plantilla de la mitad de cada uno de los diseños de triángulos y usarla. para perforar los agujeros a mano.
También pinté la parte posterior de los triángulos, la mayoría de ellos negros y luego seis plateados al azar.
Paso 11: Ate con cables la tira de LED a los paneles
¡Esto fue mucho atar cables! Afortunadamente, tuve algunos amigos para ayudar.
Etiquetas para cables
Etiqueté cada conector JST con una etiqueta de cable codificada por colores, para que sea más fácil cuando se trata de enchufarlo en su Fadecandy. Están ordenados por el arco iris, por lo que para cada Fadecandy hay:
- Tira 1- Rojo
- Tira 2 - Naranja
- Tira 3 - Amarillo
- Tira 4 - Verde
- Tira 5 - Azul
- Tira 6 - Púrpura
- Tira 7 - Gris
- Tira 8 - Blanco
No es un arcoíris exacto, pero esos son los colores en los que vinieron las etiquetas y ¡funciona!
(Algunos de los Fadecandys, los que solo manejan 3 paneles isósceles, en lugar de 1 equilátero y 2 isósceles, solo usan 6 tiras).
Paso 12: cuelgue los paneles en el domo
Mis paneles triangulares son un poco más pequeños que el espacio entre los puntales, quería que colgaran libremente en el espacio en lugar de unirlos sólidamente a los puntales.
Método de suspensión
Cada nodo de la cúpula tiene un perno de ojo; estos no vienen de serie, pero Buildwithhubs los vende en un paquete. Estos cáncamos son perfectos para colgar cosas (aunque tenga cuidado de no colgar demasiado peso de un nodo).
Decidí usar paracord y pequeños mosquetones. El cable se pasa a través de dos orificios en cada esquina del panel. El mosquetón sujeta el cordón al cáncamo. Para tensar el cable y asegurarme de que el panel esté colocado correctamente en el espacio, también agregué una palanca de plástico a cada uno. Esto significa que se pueden sujetar fácilmente mientras están sueltos y luego apretarlos para colocarlos en el centro del espacio.
Estoy muy contento con el resultado del método del mosquetón. Es muy satisfactorio sujetar los paneles a la cúpula, haga clic, haga clic, haga clic. También es rápido y fácil eliminarlos.
Paso 13: Cree paneles de distribución de energía y datos
Entonces, hemos soldado montones de conectores JST a montones de tiras de LED, pero ¿a qué se conectan?
Cada tira debe conectarse a la alimentación, a tierra y a los datos del Fadecandy. Hay 11 paneles de conexión que sostienen los 11 Fadecandys y distribuyen la energía de las 11 fuentes de alimentación. Corté con láser estos paneles de la capa de álamo sobrante de 4 mm. En el lateral, hay ranuras para piezas de velcro, que unen los paneles de manera ordenada a los puntales de la cúpula.
Poder
Cada LED usa 0.06A con brillo total. Esto significa que la potencia total necesaria para que 4378 píxeles funcione a plena potencia es de ~ 1,3 kW.
Sin embargo, tengo esencialmente 11 circuitos de alimentación completamente separados. (Solo se conectan a través de -ve a través de Fadecandy. No conecte el + ve de fuentes de alimentación separadas ya que esto es peligroso). Cada circuito solo alimenta un máximo de 428 píxeles, un total de 128 W, por lo que la corriente es de un nivel mucho más seguro.
Mis fuentes de alimentación son capaces de proporcionar 150 W cada una (30 A a 5 V).
En el panel de conexión, la alimentación y la tierra provienen de la fuente de alimentación en la parte inferior, luego se conecta a los conectores wago, que la distribuyen a través de 8 conectores JST macho.
Datos
El Fadecandy está conectado a la izquierda del panel, y el cable USB viene desde la parte inferior al igual que los cables de alimentación.
El cable de datos del conector JST está soldado a una tira de pines hembra de un solo encabezado que se conecta a los pines del Fadecandy. Uno de los pines de tierra del Fadecandy está conectado al circuito de tierra. (Los pines de tierra están todos conectados entre sí, por lo que no es necesario conectarlos todos)
Paso 14: revestimiento de tela
Coser la cubierta de tela fue inesperadamente una de las partes más difíciles y que consumieron más tiempo de este proyecto. ¡Afortunadamente tenía un amigo para ayudar!
Diseño
En el diagrama aplanado de la cúpula puede ver que la cubierta consta de 5 pentágonos que están formados por 5 triángulos isósceles cada uno, más 8 triángulos equiláteros. Hicimos la cubierta en este orden: primero cosimos los 5 pentágonos y luego los unimos con los triángulos equiláteros.
(Las secciones negras de ese diagrama están abiertas y descubiertas).
Medición
Intentamos calcular las medidas de los triángulos usando matemáticas como la gente normal, pero por alguna razón seguía saliendo mal y no encajaba bien en la cúpula, así que al final usamos un trozo de policordón a través de los pernos de ojo de los nodos para Mida el tamaño y luego use este triángulo policordón como plantilla. No sé por qué el uso de las medidas conocidas de los struts + los huecos de los nodos siguió funcionando mal, los triángulos 3D son confusos.
Pentágonos
A medida que hacíamos los triángulos isósceles y los cosíamos en pentágonos, con frecuencia lo colgamos en la cúpula para comprobar que todo estaba alineado. Se fija a la cúpula con pequeñas piezas de elástico que se cosen a los puntos donde se unen los triángulos.
Uniéndolo juntos
Una vez que hicimos los cinco pentágonos, comenzamos a cortar los triángulos equiláteros usando el mismo método: policordio a través de los pernos de ojo. Una vez que cosimos dos de los pentágonos de esta manera, nos dimos cuenta de que no encajaba bien en absoluto. Entonces, en cambio, decidimos colgar todos los pentágonos en la cúpula y fijar los triángulos equiláteros en su lugar. Luego, una vez que estaba todo clavado, lo quitamos y mi amigo lo cosió en una sola pieza sólida.
Fijarlo de esta manera fue mucho trabajo, gran parte de él con mis brazos directamente sobre mi cabeza a menudo mientras trataba de sujetar la tela desde el exterior de la cúpula, mientras estaba parado en el interior. ¡Divertida!
Etiquetado
En el camino, etiquetamos las piezas con un bolígrafo de tela soluble en agua … estas cosas son geniales, ya que puedes escribir directamente en la tela y luego rociarla con agua y la tinta desaparecerá (a veces se necesitan algunas pasadas, pero funciona)
Paso 15: colgar la tela
La tela se cuelga en la cúpula mediante tramos de elástico que se cosen en cada punto, estos se atan a los pernos de ojo en los nodos de la cúpula.
Atar y desatar los elásticos no es tan rápido como recortar los paneles, por lo que me gustaría reemplazar este método con mosquetones o algún otro clip en algún momento.
Paso 16: Colocación del Kinect
En una atrevida muestra de confianza en el universo, en ningún momento medí la brecha entre los paneles para asegurarme de que un Kinect realmente encajaría. (Por favor, no se lo digas a mis tutores)
Puedes imaginar mi alegría cuando encajaba así.
Esta imagen muestra un Kinect v2 pero terminé usando un Kinect v1 por razones que abordaré más adelante.
Simplemente se fija al puntal con cinta de velcro de doble cara.
Paso 17: Piso
El piso está hecho de tapetes de espuma EVA entrelazados que obtuve de B&Q. Los he usado para dos proyectos ahora y es ideal para interiores. Es muy cómodo sentarse.
Al aire libre, en festivales ventosos como Burning Man, debe asegurarse todo porque el viento pasará justo debajo y levantará todo.
Paso 18: Esa es la compilación hecha … ¡en el código
Gracias por seguir conmigo hasta ahora. Esa es toda la construcción física HECHO. Ahora hablemos del software.
Paso 19: servidor Fadecandy
Descargar el software
El software Fadecandy está disponible aquí.
Descarga el github completo y descomprímelo.
Ejecuta el servidor
Navega a la carpeta 'bin' dentro de las cosas fadecandy que acabas de descargar.
Haga clic en fcserver.exe.
Esto cargará una ventana de cmd que muestra todos los dispositivos Fadecandy conectados. En este caso, hay 11.
Prueba los LED
Vaya a https://127.0.0.1:7890/ para ver la interfaz de usuario del servidor Fadecandy. Esto muestra todos los dispositivos conectados nuevamente y permite un poco de control.
Hacer clic en el menú desplegable del patrón de prueba le permite configurar todos los píxeles para ese Fadecandy en brillo completo o medio. También es posible hacer que el pequeño LED verde en el propio fadecandy parpadee haciendo clic en "identificar".
Paso 20: configurar el servidor Fadecandy
En este momento, los Fadecandys están todos cargados en un orden aleatorio. Anteriormente etiqueté mis triángulos del 1 al 11, pero la computadora no tiene forma de saber cuál es cuál en este momento. Para hacer eso, necesitamos crear un archivo de configuración.
Que Fadecandy es cual
Antes de que podamos decirle a la computadora en qué orden están los Fadecandys, debemos averiguar cuál es cuál. Hice esto usando la interfaz de usuario del navegador para iluminar cada sección, luego anotando cuál era y cuál es su número de serie.
El archivo de configuración
En el archivo de configuración, enumeramos todos los números de serie, el píxel de índice en el que comienzan y cuántos píxeles controlan teóricamente. Digo teóricamente porque mapearé los píxeles como si hubiera 512 por Fadecandy, aunque en realidad hay menos. Esto lo hace más fácil ya que sabemos que el primer píxel de cualquier Fadecandy es siempre [Fadecandy number * 512].
A Fadecandy no le importa que en realidad cada uno tenga menos píxeles que el máximo, y también nos ocuparemos de eso en el código de procesamiento.
Cargando el archivo de configuración
Ahora, para iniciar el servidor Fadecandy, en lugar de simplemente hacer clic en fcserver.exe, necesitamos pasarle este archivo de configuración.
Hacemos esto abriendo un indicador de cmd dentro de la carpeta bin y escribiendo
fcserver config.json
Esto ahora cargará todos los Fadecandys en las direcciones correctas.
Paso 21: mapeo de píxeles
Mapeo de Dymaxion
Buckminster Fuller (quien popularizó las cúpulas geodésicas), también creó el mapa dymaxion, que es una representación de la tierra como si estuviera en la superficie de un icosaedro. Puede plegarse para ser 3D o aplanarse para ser 2D.
De la misma manera, estoy aplanando la superficie de mi domo de su forma 3D a una representación 2D, como se muestra en la imagen adjunta. Esta representación 2D se mapeará en un lienzo de procesamiento donde todo lo que dibujo en el lienzo se muestra inmediatamente a través de los LED.
Procesando
El procesamiento es un lenguaje de programación visual. Al igual que dibujaría un rectángulo en Photoshop con el mouse, puede dibujar un rectángulo en Processing escribiendo un código como este:
rect (100, 80, 10, 50);
Eso le daría un rectángulo a partir de 100 px adentro, 80 px hacia abajo, 10 px de ancho y 50 px de alto.
Si no está familiarizado con Processing, le recomiendo encarecidamente los tutoriales de Daniel Shiffman en Youtube, que son tan entretenidos como informativos.
Dibujar líneas de LED
El procesamiento funciona con Fadecandy listo para usar. Hay una función para colocar los LED en líneas, diciéndole:
- el índice / dirección de inicio de los LED en esa línea
- el número real de píxeles en la línea
- la ubicación x, y del centro de la línea
- el espacio entre ellos
- el ángulo de la línea
Dibujar triángulos
Escribí una función para cada uno de mis tipos de triángulos (equiláteros e isósceles). Yo lo digo:
- el índice / dirección de inicio de los LED en todo este triángulo
- el centro del triangulo
- el ángulo en el que está todo el triángulo
A partir de esta información, escribe las líneas de los LED, utilizando trigonometría para colocarlos correctamente en el lienzo de procesamiento.
(Es posible que recuerde muchos pasos atrás, señalé que debido a la ubicación de los Fadecandys, algunos triángulos isósceles comienzan en la franja más larga y otros en la más corta, y algunos vienen de la izquierda y otros de la derecha. Esto significa que yo en realidad tienen cuatro funciones para triángulos isósceles)
Acerca de las direcciones
Cuando digo índice / dirección, me refiero a cómo Fadecandy aborda los LED.
p.ej.
- En el primer Fadecandy, la primera tira comienza en 0
- En el primer Fadecandy, la segunda tira comienza en 64 (sin importar cuántos píxeles hay realmente en la primera tira)
En el primer Fadecandy, la tercera tira comienza en 128 (sin importar cuántos píxeles haya realmente en las dos primeras tiras)
- En el segundo Fadecandy, la primera tira comienza en 512 (sin importar cuántos píxeles haya realmente en el primer Fadecandy
- En el segundo Fadecandy, la segunda tira comienza en 576 (… entiendes la idea)
Código
Una versión "en blanco" de mi código de domo está disponible en github aquí.
Este código contiene el mapeo descrito anteriormente, pero ningún gráfico aparte de un círculo dibujado donde está el mouse.
n.b Los píxeles solo se mostrarán en este código si tiene el servidor Fadecandy en ejecución.
Paso 22: Integración de Kinect
¿Kinect 1 o 2?
Hay dos versiones de Kinect. Kinect v1 funcionó con la Xbox 360, mientras que Kinect v2 funcionó con la Xbox One (de manera confusa).
Estoy usando un Kinect v1. Parte de la razón de esto es que es muy difícil extender la longitud del cable USB en el Kinect v2 debido a la cantidad de datos que se envían. Requiere un cable de extensión costoso y difícil de encontrar. Dado que mi Kinect está montado en la parte superior del domo, no puedo conectar un Kinect v2 directamente al escritorio en el suelo. Un problema ridículo, pero ahí estamos.
Algunas de mis fotografías y videos muestran un Kinect v2, esto se debe a que inicialmente tenía una configuración en la que tenía el Kinect v2 conectado a un cable de computadora portátil atado a la mitad del domo, que enviaba información a través de OSC al escritorio que controla los LED. Esto funcionó bien para algunas aplicaciones, pero una vez que quise usar todo el feed de profundidad, no pude enviarlo a todo OSC, así que cambié a Kinect v1.
Instalación
No voy a hablar sobre la instalación del SDK y la obtención de los cables correctos para Kinect, ya que hay muchas guías sobre cómo hacerlo. Tengo el SDK v1.8 instalado y, dentro de Processing, estoy usando la biblioteca OpenKinect.
Paso 23: Seguimiento de profundidad de Kinect
Código
Mi código está disponible en github aquí. Está bastante bien comentado, ¡así que echa un vistazo!
Esta es una descripción general de lo que está haciendo el código:
La alimentación de la cámara de profundidad Kinect se asigna a color (por ejemplo, lejos = rojo, cerca = verde) y se muestra directamente sobre los LED. Pero hay más que eso.
En primer lugar, el color de cada píxel en la alimentación de profundidad varía de un lado a otro alrededor de su tono real, para agregar un efecto brillante.
En segundo lugar, al iniciar el boceto, al hacer clic con el mouse se obtendrá una lectura de fondo, luego solo se mostrarán los píxeles que estén más cerca que esa lectura de fondo. Esto evita que aparezca el piso / los cojines / la estructura de la cúpula.
También hay una función para restablecer la lectura de fondo cada x fotogramas, por lo que si las personas dentro del domo están quietas, no aparecerán. Esto significa que el movimiento real se destaca, en lugar de mostrar toda la masa globosa de profundas tonterías. (Pronto reemplazaré esto con una versión lerped, por lo que el fondo no hace un reinicio "completo", sino que evoluciona con el tiempo)
También hay una animación de fondo que muestra grupos de manchas de color, la cantidad de grupos se asigna inversamente a la cantidad de acción que ocurre en el domo, por lo que si no hay nadie presente o está quieto, hay mucha animación. Luego desaparece gradualmente a medida que ocurre más movimiento en el interior.
Paso 24: ¡Cúpula lista
Espero que hayas aprendido algo y te haya parecido interesante. Mire el video completo que tiene un montón de imágenes del funcionamiento del domo.
También he incluido aquí por diversión algunas fotografías de larga exposición que tomé de When in Dome. ¡Disfrutar!
Primer premio en el concurso Make it Glow 2018
Recomendado:
Nubes de LED con Fadecandy, PI y tiras de LED: 4 pasos (con imágenes)
Nubes de LED con Fadecandy, PI y tiras de LED: hice algunas nubes de LED para crear una atmósfera etérea en mi casa. Inicialmente, se iban a utilizar para un festival que se suspendió debido a la pandemia actual. He usado un chip de caramelo desvanecido para lograr animaciones fluidas y he
Saco de boxeo interactivo interactivo: 3 pasos (con imágenes)
Bolsa de boxeo de reflejo interactivo: este instructivo es para cualquier persona que quiera mejorar su agilidad y habilidades de boxeo mientras obtiene más experiencia en la soldadura, utilizando Arduino, LED y el acelerómetro MK 2125. El objetivo de este proyecto es modificar una bolsa de reflejo existente y transformar
Generador de hojas láser interactivo con Arduino: 11 pasos (con imágenes)
Generador de láminas láser interactivo con Arduino: los láseres se pueden utilizar para crear efectos visuales increíbles. En este proyecto, construí un nuevo tipo de pantalla láser que es interactiva y reproduce música. El dispositivo hace girar dos láseres para formar dos láminas de luz en forma de vórtice. Incluí sensor de distancia
Cómo controlar LED direccionables con Fadecandy y procesamiento: 15 pasos (con imágenes)
Cómo controlar LED direccionables con Fadecandy y Processing: Qué Este es un tutorial paso a paso sobre cómo usar Fadecandy y Processing para controlar LED direccionables. Fadecandy es un controlador de LED que puede controlar hasta 8 tiras de 64 píxeles cada una. (Puede conectar varios Fadecandys a una computadora para aumentar la
Domo LED geodésico interactivo: 15 pasos (con imágenes)
Domo LED geodésico interactivo: construí un domo geodésico que consta de 120 triángulos con un LED y un sensor en cada triángulo. Cada LED se puede direccionar individualmente y cada sensor está ajustado específicamente para un solo triángulo. El domo está programado con un Arduino para iluminarse