Isi kandungan:

Antaramuka Langkah MIDI (versi En Español): 12 Langkah
Antaramuka Langkah MIDI (versi En Español): 12 Langkah

Video: Antaramuka Langkah MIDI (versi En Español): 12 Langkah

Video: Antaramuka Langkah MIDI (versi En Español): 12 Langkah
Video: SX9 Mini Wireless Microphone For Type C & 3.5 Interface # 2024, Julai
Anonim
Image
Image
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura

Versi en inglés aquí.

Eneste instruksional te mostraremos cómo hacer una plataforma interactiva de luz y sonido, que puede ser usada para jugar el famoso "Simon Says" al igual que como un controlador MIDI. Ambos modos operados con los pies!

Antecedentes

El proyecto nació por la idea de hacer una pieza interactiva con la que el público pudiera divertirse sin importar su edad, tanto para niños como para adultos. Y hizo para un centro comercial, como parte de las atracciones que ofrece en sus instalaciones.

La primer referencia que recibimos por parte del cliente es una versión del Simon Mengatakan kepada tocar con los píes, básicamente teníamos que replicar algo así.

Nos dimos a la tarea de buscar otros tipos de plataforma, entre las que luxaban las pistas de baile, que en su mayoría trabajan con la luz, pero no con el sonido. En esta búsqueda también nos topamos con los pianos de gran formato para píes, y nos pareció buena idea hacer una plataforma que no solo fuera para jugar Simon Says, sino también para usarlo como instrumento musical. Oleh el gusto a la música!

Otro aspeko que thinkamos fue la forma de la plataforma. Todas las pistas de baile que vimos son rectangulares, con pads cuadrados, excepción de una que tenía pekeliling. Queríamos desde un inicio trabajar con una forma diferente, que fuera llamativa visualmente y modular al mismo tiempo. Los hexágonos fueron la respuesta.

Al buscar formas hexagonales, lo más cercano que encontramos fue este proyecto. La idea de hacer hexágonos nos emocionaba cada vez más… Tidak ada idea ten deam que vendría después.

Teníamos ya un objetivo cada vez más claro: Una plataforma interactiva de luz y sonido que:

  • Se pudiera jugar Simon Says
  • Funcionara como instrumento musical
  • Tuviera melapisi segi enam

Langkah 1: Bahan

Generales:

  • 1) LattePanda
  • 1) Gabinete untuk LattePanda
  • 1) Eliminador 5 VDC a usb mikro 2.5A
  • 1) Perma-proto
  • 1) Multiplexor de 16 kanal
  • 10) Resistores de 10k ohm
  • 1) Fuente de voltaje 5 VDC a 50 A
  • 5) Regletas de conectores de tornillo
  • Cinchos
  • Sujeta cinchos
  • Velcro
  • Cinta doble cara
  • 1) Altavoz activo de alta potencia
  • 1) Kabel tambahan 3.5 mm
  • 1) Perindustrian Gabinete

Bahagian pad:

  • 1.5) Metro de tira Neopixel de 96 LED
  • 1) Perindustrian interruptor de límite
  • 1) Hexágono de acrílico opalino de 1 cm
  • 1) Hexágono de trovicel de 6 mm
  • 1) Estructura de PTR
  • Velcro
  • Silicón
  • Kabel 5 melalui
  • Kabel 3 melalui
  • Kabel 2 melalui
  • Termofil

Langkah 2: Elegir La Tarjeta Que Controle Todo El Sistema

Arduino es, por antonomasia, la tarjeta de desarrollo que hemos ocupado desde hace varios años. Nunca nos ha fallado, sin embargo, es necesario detenerse un poco a pensar qué aspekos técnicos debemos cubrir para nuestro proyecto:

  • Luz: Requerimos iluminar los pads con alto brillo y con patrones complejos, para ello pensamos menggunakan Neopixeles.
  • Pad: Los pad deben responder a la pisada del usuario, lo más fácil para esto son mengganggu.
  • Juego: Esto se refiere a la dinámica del juego, que debe ser programada y procesada por algún microcontrolador.
  • Sonido: En un inicio, teniamos pensado diseñar nuestros propios sonidos en Data Murni, por lo tanto requeríamos una computadora que corriera dicho programa.

Más adelante se profundiza en estos aspekos, mientras tanto, la parte que nos mantenía en duda, era la del sonido.

Thinkamos usar Pure Data, porque si bien con Arduino se pueden generar algunos sonidos, es limitado y complejo, mientras que con PD se puede hacer síntesis o bien un patch para activar sonidos vía MIDI. Permintaan yang diperlukan, pengiraan data Pure Data, dan Arduino para controlar lo demás.

Comenzamos a sondear qué computadora usar, y nos gustó lo que ofrecía LattePanda: una computadora con Windows 10 con una tarjeta Arduino Inc. Bingo!

LattePanda tiene un puerto GPIO en el que se encuentran mapeados los pines de un Arduino, través de los cuales podriamos manejar los interruptores de los pads y los neopixeles.

La programación del juego sería en el mismo Arduino que trae indicado, que por cierto, es un Arduino Leonardo.

Para el sonido, LattePanda tiene un jack 3.5 que más adelante conectariamos a un altavoz.

Hay un montón de otras computadoras que pudimos haber usado, seguro te preguntas por qué no usamos Raspberry Pi. Y las razones anak las siguientes:

  • Adafruit sugiere no controlar Neopixeles con Raspberry, por cuestiones del reloj. Cosa que Arduino sí puede.
  • Para controlar los pines GPIO de la Raspy, se tiene que hacer con Python, lenguaje que no dominamos.
  • Si bien se puede conectar un Arduino a la Raspy, queríamos una solución de una sola tarjeta.
  • Raspberry corre Windows 10 IoT Core.

Ciertamente LattePanda es costosa y no hay mucha comunidad que la utilice. Si esto lo ves como una oppidad, te invitamos a utilizar otra plataforma. Estaremos encantados de saber que hiciste este proyecto con Raspy, UDOO, BeagleBone, dll …

Langkah 3: Diseñar Y Fabricar La Estructura

Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura

La idea de hacer la plataforma con hexágonos nadie no la iba a quitar. Como estábamos seguros de ello, comenzamos a diseñar la estructura.

Hay muchas cosas a thinkar para esta etapa, y nuestra estructura debía cubrir lo siguiente:

  • Soportar el peso de personas
  • Exposición a la intemperie
  • Resguardar la electrónica

Thinkamos enseguida utilizar PTR por su dureza, bajo costo y fácil acceso.

Dado que los hexágonos irían acomodados juntos el uno con el otro, se tenía que pensar de qué manera pasarían los cables entre ellos, y por esa razón se diseñó cada módulo como una especie de sandwich, donde por enmedio pasarín los cica de la electr.

Teníamos memanggil que fabricar una estructura de doble hexágono, con unos postes que los separaran.

Al tratarse de una plataforma para pies, se nos hizo fácil thinkar un diámetro externo para el hexágono de unos 70 cm, para que fuera de buen tamaño. Hicimos el ejercicio de cortar en papel varios hexágonos con ese diámetro antes de hacer la estructura.

Con todo esto definido, comenzamos la fabricación de nuestro primer prototipo.

Lo primero que hicimos fue cortar en MDF con láser un hexágono con las dimensiones que tendría la estructura, usaríamos esta pieza para guiarnos en cuanto a los ángulos y longitud que deberían tener los tramos de PTR.

Cortar de manera precisa los tramos de PTR es una tarea bastante difícil, y más cuando no tienes la herramienta adecuada. Nosotros a falta de una sierra ingletadora, usamos una esmeriladora, lo cual complicó mucho este proceso. Debes ser cuidadoso usando esta herramienta, ya que es muy fácil cortar de más y no seguir cortes rectos.

Cortamos 12 tramos (6 por cada hexágono) y 6 postes (los que separan a los hexágonos). Una vez que probamos que coincidian con el hexágono de MDF, Continamos con la soldadura.

Soldamos primero los hexágonos por separado, y luego los soldamos a los postes de separación. Todo un reto!

Somos unos Principiantes en soldadura y pronto nos dimos cuenta que nos ibamos a limitar a soldar sólo ese prototipo, y el resto encomendarlo a un herrero eksperimen. Si tu eres un buen soldador, animate a fabricar todos los hexágonos tú mismo!

Ya con la estructura finalizada, la pintamos de blanco con aerosol. Te recomendamos hacer esto en un lugar ventilado y donde se pueda colgar la estructura para que puedas pintarla por todos los ángulos.

Langkah 4: Colocar Las Superficies En La Estructura

Colocar Las Superficies En La Estructura
Colocar Las Superficies En La Estructura
Colocar Las Superficies En La Estructura
Colocar Las Superficies En La Estructura
Colocar Las Superficies En La Estructura
Colocar Las Superficies En La Estructura

Ya con la estructura metálica, ahora seguía pensar en dos cosas:

  • La superficie que resguardaría la electrónica.
  • La superficie que el usuario pisaría.

La electrónica que iría en cada hexágono consistía únicamente en la tira de neopixeles. Necesitábamos algo que fuera resistente al agua, en caso de que lloviera y se acumulara el agua debajo de cada hexágono.

Elegimos trovicel, es barato, fácil de cortar, accesible, y resistente al agua.

Oleh su parte, para la superficie que pisaría el usuario, queríamos que fuera con acrílico, la duda era qué tan grueso había que ponerlo. El único warna mungkin era blanco opalino, para que ocultara la tira de neopixeles dan para difuminar la luz. Desafortunadamente no hay mucha variedad en cuanto a grosores, el más grueso era pakai 1 cm.

Prototipo primer, keseimbangan khas dan kepunyaan evitar que el agua se filtrara por alguna orilla. Para lograrlo el hexágono tenía la orilla dentada para que se pudiera armar en conjunto con las paredes de la tapa, y posteriormente fijar las partes con pegacril.

Cortamos en láser ambos hexágonos: el de trovicel dan el de acrílico.

Nota: Con expectación, sabíamos que es peligroso cortar trovicel con láser, puesto que está hecho de PVC. Con ayuda y allowimiento del operador de la cortadora láser, lo cortamos rápido, con ventilación, y con mascarillas. Lo hicimos porque no disponíamos de un router CNC, y cortarlo con sierra era impreciso y tardado. Asumimos este riesgo solo para el prototipo, el resto de hexágonos de trovicel los cortamos con router. Jangan ocupes cortadora láser!

Con las piezas ya cortadas, montamos todo junto y comenzamos a probarlo.

Durante algunos días nos subimos al hexágono para probar su resistencia, pero no pasó una semana para que las paredes de la tapa de acrílico empezaran a despegarse. Además el acrílico se pandeaba mucho con el peso de una persona promedio.

Como ya no había acrílico opalino más grueso, optamos por reducir el perímetro del hexágono 50 cm, haciendo la superficie más pequeña ésta sería más resistente. Si bien pudimos colocar algunos soportes de refuerzo en la parte de abajo del acrílico, se vería la sombra de estos cuando se iluminara el hexágono.

Ya no teníamos tiempo para fabricar nosotros otro hexágono, así que lo mandamos a hacer con un herrero.

Esta última estructura sería la definitiva para nuestro proyecto, en el modelo 3D que acá te compartimos vienen especificadas sus dimensiones.

También descartamos la idea tener una tapa compuesta de varias caras pegadas con pegacril. En su lugar decidimos uasr solo una superficie de acrilico que atornillamos por arriba a la estructura. Tanto el acrílico como el trovicel se tuvieron que ajustar al nuevo tamaño. Cortamos en láser 10 hexágonos de acrílico, y con router CNC 10 hexágonos de trovicel.

Langkah 5: Instalar La Tira De Neopixeles

Instalar La Tira De Neopixeles
Instalar La Tira De Neopixeles
Instalar La Tira De Neopixeles
Instalar La Tira De Neopixeles
Instalar La Tira De Neopixeles
Instalar La Tira De Neopixeles

Para la iluminación, probamos de qué manera se podía iluminar mejor el acrílico. En definitiva fue colocando la tira por la orilla. Checa las fotos para que veas la diferencia.

Las tiras que usamos tienen 96 neopixeles por metro y las venden por metros separados, es decir, no venden rollos de 5 metros συνέχεια. Esto se volvería pronto un problema, porque un solo metro no alcanza para cubrir toda la orilla de nuestro hexágono, por lo que tuvimos que unir pedazos.

Adafruit tiene una guía bastante completa sobre estas tiras, te recomendamos leerla antes de usarlas.

Con las tiras hicimos lo siguiente:

  • Al inicio de cada tira, soldamos un resistor de 470 ohm. Se recomienda que este resistor vaya lo más cercano mungkin a la tira, en lugar del pin de Arduino.
  • En el otro extremeo, unimos la tira de un metro, con un tramo de unos 20 cm untuk pelengkap el perímetro del hexágono.
  • Como la plataforma iba a estar expuesta a lluvia e intemperie, terdiri daripada tiras a prueba de agua, que traen un recubrimiento. Al unir tiras, tuvimos que abrir este recubrimiento para que los LEDs estuvieran lo mas juntos mungkin, y luego sellarlo con ayuda de unas tapitas impresas en 3D y silicón. En las fotos puedes ver más a detalle esto.
  • Fijamos las tiras a la estructura con velcro.
  • Finalmente, a la tira le soldamos una extensión (de unos 20 cm) de cable de 3 vías, que baja por una perforación en el trovicel.

Langkah 6: Instalar El Interruptor

Image
Image
Pengganggu El Instalar
Pengganggu El Instalar
Pengganggu El Instalar
Pengganggu El Instalar

Hay varias alternativas para sensar las pisadas del usuario: sensor kapasitivo, sensor de distancia, sensor de fuerza, velostat, dll. Oleh otra parte, soco necesitabamos detar una señal de encendido / apagado y un interruptor hace justamente eso.

Sobre qué interruptor elegir, fuimos a la tienda de electrónica para ver las opciones. Buscábamos algo robusto-industrial, y nos encontramos con un gran surtido. La elección se basó de acuerdo al tamaño de nuestra estructura dan a la forma de montaje. En las fotos podrás apreciar que el switch que usamos tiene una especie de cuello con cuerda que permite poder atornillarlo a una superficie horizontal. Justo lo que necesitábamos!

Usar este tipo de switches es muy fácil, en la parte de abajo trae unos tornillos como terminals a los que se le puede register el el, no es necesario usar soldadura, además estos switches son para intemperie ya que traen una carcasa que los aisla del agua. Les conectamos una extensión de cable de dos polos de 20 cm aprox.

La forma de calibrar la sensibilidad de los switches va en función de qué tan cerca estén del acrílico. Para calibrarlos nosotros nos apoyamos de unas rondanas que imprimios en 3D con el grosor necesario para que el switch quedara ajustado al nivel que requeríamos. Tiada usamos rondanas comerciales porque eran muy gruesas.

Langkah 7: Soldar La Extensión De Cable De Cada Hexágono

Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono
Soldar La Extensión De Cable De Cada Hexágono

En cada hexágono se tenía el interruptor y la tira de neopixeles, dando un total de 5 kabel. Estos kabel tenían que llegar a un circuito de control desde donde se mandarían y recibirían las señales. Empleamos memanggil un cable de control de 5 vías. Usamos termofil para proteger los puntos de unión con soldadura.

En el otro extremeo de esta extensión, necesitabamos un conector de 5 pain. Hay unos DIN 5 industriales de propósito umum pero son muy caros y elevarían mucho el costo del proyecto, era termasuk barato usar dos conectores XLR de audio que uno industrial. Soldamos entonces dos conectores XLR: uno para los neopixeles (3 kabel) dan suis otro para el (2 kabel).

Usar dos conectores por hexágono es algo aparatoso, si tienes suficiente presupuesto, te recomendamos ampliamente que menggunakan un conector industrial, te ahorrará trabajo y se verá mejor.

También calculamos el largo de cada cable tomando en cuenta las dimensiones de una estructura que iría por alrededor de los hexágonos. Es de gran utilidad, por su parte, planear por dónde pasarán los cables entre hexágonos y diseñar un diagrama de referencia.

Langkah 8: Persiapan El Gabinete Que Resguarda El Circuito De Control

Persiapan El Gabinete Que Resguarda El Circuito De Control
Persiapan El Gabinete Que Resguarda El Circuito De Control
Persiapan El Gabinete Que Resguarda El Circuito De Control
Persiapan El Gabinete Que Resguarda El Circuito De Control
Persiapan El Gabinete Que Resguarda El Circuito De Control
Persiapan El Gabinete Que Resguarda El Circuito De Control

A partir de que usamos conectores XLR macho, requeríamos usar conectores XLR hembra y estos debían ser montados en un gabinete. El número de conectores

Compramos un gabinete industrial, y para perforarlo utilizamos un taladro de columna y una sierra broca para los agujeros de los conectores XLR, los cables de alimentación AC y audio. Este proceso fue muy tardado debido al amplio grosor de este tipo de cajas, aunado a que el taladro necesita opera a su máxima fuerza y para ello requiere cierto tiempo de reposo por cada tiempo de trabajo (es penting que busques esta información tu taladro, pues si no respetas estos tiempos, tu taladro se sobre-calentará con riesgo a dañarse).

Antes de perforar la caja, planifica la ubicación de los circuit, el flujo de señal dentro y fuera del gabinete, la orientación de ésta, y si va a estar dentro de un mueble o a la intemperie. Tidak ada pertimbangan yang baik untuk kemudahan yang lebih baik.

Langkah 9: Soldar Circuito De Control Y Conexiones Para La LattePanda

Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda
Soldar Circuito De Control Y Conexiones Para La LattePanda

El circuito de control es bastante sederhana. Como nuestra plataforma se compone de 10 pad, cuenta con 10 interruptores (entradas) y 10 tiras de neopixeles (salidas). Estos 20 dispositivos van a interactuar con el Arduino que trae integrado la LattePanda, sebuah través de sus pines digitales. Pese a que esta tarjeta cuenta con 20 pines digitales, dos de ellos están dedicados la comunicación serial (Rx y Tx) dan tidak boleh dicadangkan tanpa usarlos. Membangkitkan tuvimos que recurrir al uso de un multiplexor (MUX).

Los interruptores los conectamos a un multiplexor de 16 entradas para que en lugar de usar 10 pines del Arduino para la lectura, sólo usemos 5.

Oleh su parte, los neopixeles decidimos sí conectarlos directo a los pines de Arduino, dado que en diferentes pruebas que hicimos, pueden llegar a tener problemas cuando se manejan a través de un MUX y hacen más complejo el código. Sin embargo, si tienes un buen nivel de programación, tidak ada masalah untuk para usar un MUX dedicado a las tiras.

Para proteger y darle ventilación a la LattePanda usamos un gabinete dedicado que incluye ventilador. Con el gabinete puesto, sería difícil montar sobre los pines un melindungi a donde irían soldadas las conexiones de los cables y el MUX, motivo por el cual diseñamos un circuito aparte muy sencillo al cual le soldamos conectores, algunos resistores y el MUX.

Como el circuito es tan bico, lo soldamos directamente sobre una Perma-proto, igual lo puedes soldar sobre una placa perforada, o bien, Fabric tú mismo el PCB. Aquí te compartimos el diseño en Fritzing.

Langkah 10: Conectar Los Pads Al Circuito De Control Y a La Alimentación

Image
Image
Conectar Los Pads Al Circuito De Control Y a La Alimentación
Conectar Los Pads Al Circuito De Control Y a La Alimentación
Conectar Los Pads Al Circuito De Control Y a La Alimentación
Conectar Los Pads Al Circuito De Control Y a La Alimentación

Teniendo el circuito de control ya soldado a los pines de la LattePanda dan con el gabinete perforado, hicimos lo siguiente:

  • Atornillar los conectores XLR hembra al gabinete
  • Etiquetar los conectores con sus repectivos nombres
  • Soldar el cableado de los conectores XLR a unos conectores de tornillo
  • Probar Continidad en todo el cableado
  • Fijar la fuente, el circuito de control, y la LattePanda al gabinete
  • Organizar los cables con cinchos y sujeta cinchos
  • Conectar los cables de los pads al gabinete

En las fotos se puede ver muy aparatoso el interior del gabinete, dejando poco claro lo que hicimos, pero acá te compartimos también un diagrama detallado de las conexiones.

Langkah 11: Programación

Image
Image
Programación
Programación
Programación
Programación

En este tipo de proyectos, es mucho más cómodo dedicarte a la programación, una vez que tienes el hardware bien ensamblado: sin falsos; buenas conexiones; listo para uso rudo, dll.

Para la programación comenzamos con la parte musical, quisimos diseñar nuestros propios sonidos pero ya no nos dio tiempo de profundizar con eso, así que optamos por hacer un controlador MIDI, donde cada pad hexagonal dispararía un sample.

  • Para el controlador MIDI, nos ayudó mucho esta información.
  • Utilizamos esta librería para Arduino.
  • Para el patch en Data murni usamos este.
  • Y para los sample hay varias opciones gratuitas que puedes encontrar dalam internet.

Respecto al manejo de los neopixeles, usamos la librería FastLED.

Y finalmente, para el juego "Simon Says" fue de bastante ayuda este diarahkan.

Langkah 12: Fabricación De Estructura De Protección Para La Plataforma

Image
Image
Fabricación De Estructura De Protección Para La Plataforma
Fabricación De Estructura De Protección Para La Plataforma
Fabricación De Estructura De Protección Para La Plataforma
Fabricación De Estructura De Protección Para La Plataforma
Fabricación De Estructura De Protección Para La Plataforma
Fabricación De Estructura De Protección Para La Plataforma

No había algo que fijara a los hexágonos y no se movieran cuando uno estaba sacando sus mejores pasos de baile, por lo que fue necesario pertimbangan una segunda estructura que cumpliera con dos funciones:

  • Mantener unidos a los hexágonos y que no se movieran
  • Proteger la orilla de la plataforma kontra intemperie

Fabricar una estructura con estas características no sería tarea fácil, así que decidimos encomendarlo a herreros expertos. En las fotos puedes ver la obra de arte que hicieron estos artesanos.

El gabinete de control y el altavoz se montaron dentro de un mueble de madera.

Disyorkan: