Sadržaj:

MIDI Step Interface (verzija na Español): 12 koraka
MIDI Step Interface (verzija na Español): 12 koraka

Video: MIDI Step Interface (verzija na Español): 12 koraka

Video: MIDI Step Interface (verzija na Español): 12 koraka
Video: Драм-секвенсор Arduino: 8 дорожек, 16 шагов на такт, 8 тактов на паттерн 2024, Studeni
Anonim
Image
Image
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura

Versión en inglés aquí.

En este instructable 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 se 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 Says para 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 abundaban 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 mjuzikl. Por el gusto a la música!

Otro aspecto que obzirramos fue la forma de la plataforma. Todas las pistas de baile que vimos son pravokutnici, con pads cuadrados, excepción de una que tenía pads circulares. 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 … No teníamos idea de lo 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 mjuzikl
  • Tuviera jastučići heksagonales

Korak 1: Materiales

Općenito:

  • 1) LattePanda
  • 1) Gabinete para LattePanda
  • 1) Eliminador 5 VDC i 2,5A mikro usb
  • 1) Perma-proto
  • 1) Multiplexor od 16 kanala
  • 10) Otpori na 10 k ohma
  • 1) Fuente de voltaje 5 VDC a 50 A
  • 5) Regletas de conectores de tornillo
  • Cinchos
  • Sujeta cinchos
  • Čičak
  • Cinta doble cara
  • 1) Altavoz activo de alta potencia
  • 1) Pomoćni kabel od 3,5 mm
  • 1) Gabinete industrijske

Por pad:

  • 1.5) Metro de tira Neopixel od 96 LED dioda
  • 1) Industrijski prekidac
  • 1) Hexágono de acrílico opalino de 1 cm
  • 1) Hexágono de trovicel de 6 mm
  • 1) Estructura de PTR
  • Čičak
  • Silicij
  • Kabel 5 vija
  • Kabel 3 vías
  • Kabel 2 vías
  • Termofil

Korak 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, embargo na grijeh, es necesario detenerse un poco a pensar qué aspectos técnicos debemos cubrir para nuestro proyecto:

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

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

Consideramos usar Pure Data, porque si bien con Arduino se pueden generar algunos sonidos, es limitado y complejo, mientras que con PD se puede hacer sintesis o bien un patch para activar sonidos u MIDI. Zahtjevajte entonces, una computadora para correr Pure Data, y Arduino para control lo demás.

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

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

La programción del juego sería en el mismo Arduino que trae includedo, 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 son las siguientes:

  • Adafruit sugiere no controlor Neopixeles con Malina, por cuestiones del reloj. Cosa que Arduino sí puede.
  • Para controler los pines GPIO de la Raspy, koji se nalazi na Python -u, lenguaje que no dominamos.
  • Si bien se puede conectar un Arduino a la Raspy, queríamos una solución de una sola tarjeta.
  • Malina za Windows 10 IoT Core.

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

Korak 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 consurar 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

Consideramos enseguida iskoristi 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 cable entre ellos, y por esa razón se diseñó cada módulo como una especie de sendwich, donde por enmedio pasarían los cable de la electr.

Teníamos entonces 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 consurar 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 prototipa.

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 postera (los que separan a los hexágonos). Una vez que probamos que koincidian con el hexágono de MDF, continuamos 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 experimentado. Si tu eres un buen soldador, anímate 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.

Korak 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 sastoji se ú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.

Por 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 boja posible era blanco opalino, para que ocultara la tira de neopixeles y para difuminar la luz. Desafortunadamente no hay mucha variedad en cuanto a grosores, el más grueso disponible era de 1 cm.

En este primer prototipo, diseñamos una especie de tapa para 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 y el de acrílico.

Napomena: Con anticipación, sabíamos que es peligroso cortar trovicel con láser, puesto que está hecho de PVC. Con ayuda y Agreeimiento 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 resta de hexágonos de trovicel los cortamos con router. Tú no 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 a 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á tepartimos 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.

Korak 5: Instalirajte La Tira De Neopixeles

Instalacija La Tira De Neopixeles
Instalacija La Tira De Neopixeles
Instalacija La Tira De Neopixeles
Instalacija La Tira De Neopixeles
Instalacija La Tira De Neopixeles
Instalacija 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 continuos. Esto se volvería pronto un problem, 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:

  • Svi inicijalni tiraži, otpornici i otpornici od 470 ohma. Preporučujemo vam otpor otpornika u skladu s cercanom koji može poslužiti kao la tira, s lugar del pin de Arduino.
  • En el otro extremo, unimos la tira de un metro, con un tramo de unos 20 cm para completar el perímetro del hexágono.
  • Como la plataforma iba a estar expuesta a lluvia e intemperie, compramos 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 posible, y luego sellarlo con ayuda de unas tapitas impresas en 3D y silicij. En las fotos puedes ver más a detalle esto.
  • Fijamos las tiras a la estructura con velcro.
  • Konačno, a la tira le soldamos una extensión (de unnos 20 cm) de cable de 3 vías, que baja por una perforación en el trovicel.

Korak 6: Instalirajte El Interruptor

Image
Image
Instalacijski El prekidač
Instalacijski El prekidač
Instalacijski El prekidač
Instalacijski El prekidač

Hay varias alternativas para sensar las pisadas del usuario: sensor capacity, sensor de distancia, sensor de fuerza, velostat, etc. Por otra parte, sólo necesitabamos detectar 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 y 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 terminales a los que se le puede enrolllar el cable, 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 cca.

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. No usamos rondanas comerciales porque eran muy gruesas.

Korak 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 sastoji od prekidača i la tira de neopixeles, ukupno do 5 kabela. Estos cable tenían que llegar a un circuito de control desde donde se mandarían y recibirían las señales. Empleamos entonces un cable de control of 5 vías. Usamos termofil para proteger los puntos de unión con soldadura.

En el otro extremo de esta extensión, necesitabamos un conector de 5 pines. Hay unos DIN 5 industriales de propósito general pero son muy caros y elevarían mucho el costo del proyecto, era incluso más barato usar dos conectores XLR de audio que uno industrial. Soldamos uvodi dos conectores XLR: uno para los neopixeles (3 kabela) i otro para prekidač (2 kabela).

Usar dos conectores por hexágono es algo aparatoso, si tienes suficiente presupuesto, te recomendamos ampliamente que uses 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 cable entre hexágonos y diseñar un diagrama de referencia.

Korak 8: Pripremite El Gabinete Que Resguarda El Circuito De Control

Pripremite El Gabinete Que Resguarda El Circuito De Control
Pripremite El Gabinete Que Resguarda El Circuito De Control
Pripremite El Gabinete Que Resguarda El Circuito De Control
Pripremite El Gabinete Que Resguarda El Circuito De Control
Pripremite El Gabinete Que Resguarda El Circuito De Control
Pripremite El Gabinete Que Resguarda El Circuito De Control

Partr 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 junto con el tamaño de la fuente de voltaje y el LattePanda eran las referencias de las dimensiones que teníamos que obzir para para el gabinete.

Compramos un gabinete industrial, y para perforarlo utilizamos un taladro de columnna y una sierra broca para los agujeros de los conectores XLR, los cable 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 operar a su máxima fuerza y para ello requiere cierto tiempo de reposo por cada tiempo de trabajo (es importante que busques esta información con el fabricante de 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 circuitos, 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. No olvides consurar la facilidad de conexión para el usuario.

Korak 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 simple. Como nuestra plataforma sastoji se od 10 jastučića, sa 10 prekida (entradas) i 10 tira de neopixeles (salidas). Ovih 20 dispozitiva nalazi se na interaktivnom uređaju s Arduinom koji je integrirao LattePandu, traves 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) y lo recomendable es no usarlos. Entonces tuvimos que recurrer 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.

Por 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, no tendrás problemsmas 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 shield a donde irían soldadas las conexiones de los cable 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 básico, lo soldamos directamente sobre una Perma-proto, igual lo puedes soldar sobre una placa perforada, o bien, fabricar tú mismo el PCB. Aquí tepartimos el diseño en Fritzing.

Korak 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 y 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 continuidad en todo el cableado
  • Fijar la fuente, el circuito de control, y la LattePanda al gabinete
  • Organizator los cable con cinchos y sujeta cinchos
  • Conectar los cable 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á tepartimos también un diagrama detallado de las conexiones.

Korak 11: Programiranje

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 itd.

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 controllador MIDI, nos ayudó mucho esta información.
  • Utilizamos esta librería para Arduino.
  • Para el patch en Pure Data usamos este.
  • Y para los sample hay varias opciones gratuitas que puedes encontrar en internet.

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

Za kraj, para el juego "Simon Says" fue de bastante ayuda este instructable.

Korak 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 consurar 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 contra 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.

Preporučeni: