Cuprins:

Interfață MIDI Step (versiunea în limba engleză): 12 pași
Interfață MIDI Step (versiunea în limba engleză): 12 pași

Video: Interfață MIDI Step (versiunea în limba engleză): 12 pași

Video: Interfață MIDI Step (versiunea în limba engleză): 12 pași
Video: ZORIN OS 15 si cei 12 pasi recomandati dupa instalare. 2024, Iulie
Anonim
Image
Image
Diseñar Y Fabricar La Estructura
Diseñar Y Fabricar La Estructura

Versiune în engleză aici.

În acest caz este indicabil cum să facem o platformă interactivă de lumină și sonor, care poate fi folosită pentru a juca famosul „Simon Says” la fel ca și un controlor MIDI. Ambos modos operados con los pies!

Antecedentes

El proyecto nació por la idea de hacer una pieza interactiva con que el público pudiera divertirse sin importar su edad, tanto para niños como para adultos. Y se hizo para un centro comercial, ca parte a atracțiilor pe care le oferă în instalările lor.

La primă referință care a primit o parte a clientului este o versiune a lui Simon Says pentru a atinge cu piețele, în mod fundamental am fi replicat ceva astfel.

Nos dimos a tarea de căutare altor tipuri de platformă, între cele care abundă pe piste de băi, care în su majoritatea muncesc cu lumina, dar nu cu sonatul. În această căutare, de asemenea, ne topim cu pianele de gran format pentru piese, și ne-am părut bună idee să facem o platformă, care să nu fie doar pentru a juca Simon Says, dar și pentru a folosi ca instrument muzical. Por el gusto a la música!

Otro aspect care considerăm că a fost forma de platformă. Toate lasele piste de băiat că vimos son rectangulares, con pads cuadrados, a excepție de la care să aveți pads circulares. Am vrut de la un început de lucru cu o formă diferită, care afară vizibil și modular în același timp. Los hexágonos fueron la respuesta.

Al căutare forme hexagonale, mai mult căutarea căruia am găsit acest proiect. La idea de hacer hexágonos nos emocionaba cada vez más … No teníamos idea de lo que vendría después.

Am avut un obiectiv de fiecare dată mai clar: O platformă interactivă de lumină și sonorizare care:

  • Se pot juca Simon Says
  • Funcionara como instrumento musical
  • Tampoane Tuviera hexagonale

Pasul 1: Materiale

Generali:

  • 1) LattePanda
  • 1) Gabinete para LattePanda
  • 1) Eliminador 5 VDC un micro USB 2.5A
  • 1) Perma-proto
  • 1) Multiplexor de 16 canale
  • 10) Rezistențe de 10k ohmi
  • 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) Cablu auxiliar de 3,5 mm
  • 1) Gabinete industrial

Tampon:

  • 1.5) Metro de tira Neopixel de 96 LED-uri
  • 1) Întrerupător de limite industriale
  • 1) Hexágono de acrílico opalino de 1 cm
  • 1) Hexágono de trovicel de 6 mm
  • 1) Structura de PTR
  • Velcro
  • Siliciu
  • Cablu 5 vías
  • Cablu 3 vías
  • Cablu 2 vías
  • Termofil

Pasul 2: Elegir La Tarjeta Que Controle Todo El Sistema

Arduino es, por antonomasia, tarjeta de desarrollo que hemos ocupado desde hace varios años. Nu ne-am căzut, fără embargo, este necesar să ne detenim puțin după ce gândim la ce aspecte tehnice debemos cubrir para nuestro proyecto:

  • Luz: Requerimos iluminar los pads with alto brillo y con patrones complejos, para ello pensamos use Neopixeles.
  • Pads: Los pads trebuie să răspundă la pisada utilizatorului, cel mai ușor pentru acest lucru este întrerupător.
  • Juego: Esto se refiere a la dinámica del juego, care trebuie să fie programată și procesată de vreun microcontrolator.
  • Sonido: Într-un început, avem pensii concepute pentru proprii noștri sonori în Pure Data, pentru atât de necesară o calculatoare care să poată fi corriera acestui program.

Mai multe adelante se aprofundează în aceste aspecte, în timp ce atât, la partea care ne menținem în duda, era la del sonido.

Considerăm să folosim Pure Data, deoarece dacă bine cu Arduino se pot genera unele sonide, este limitat și complet, în timp ce cu PD se poate face sinteză sau bine un patch pentru activare sonore prin MIDI. Se solicită atunci, o calculatoare pentru corectarea Pure Data, și Arduino pentru controlul demasurilor.

Comenzamos a sondear qué calculadora use, y nos gustó lo that ofrecía LattePanda: una computer with Windows 10 with a card Arduino incorporada. Bingo!

LattePanda are un puerto GPIO în el care se întâlnește mapat pinii unui Arduino, prin intermediul celor care ar putea manevra întrerupătorii padurilor și neopixelelor.

La programarea jocului ar fi în același Arduino că trae încorporat, care por cierto, este un Arduino Leonardo.

Pentru el sonido, LattePanda are un jack 3.5 pe care mai multe adelante le-am conectat la o altavoz.

Hay un montón de otras computadoras que pudimos have used, seguro te questions por qué no usamos Raspberry Pi. Y las razones son las următoarele:

  • Adafruit sugiere no control Neopixeles with Raspberry, by questions of reloj. Cosa que Arduino sí puede.
  • Pentru a controla pinii GPIO de la Raspy, are că face cu Python, limbaj care nu domină.
  • Dacă bine se poate conecta un Arduino la Raspy, am vrut o soluție de o singură carte.
  • Raspberry corre Windows 10 IoT Core.

Ciertamente LattePanda es costosa y no hay mucha comunidad que la utilice. Dacă acest lucru este ca o adversitate, te invităm să folosim o altă platformă. Suntem încântați să știm că este proiectul acesta cu Raspy, UDOO, BeagleBone, etc …

Step 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, începem să proiectăm structura.

Sunt multe lucruri care se iau în considerare pentru această etapă, iar structura noastră se debarcă în continuare:

  • Soportar el peso de personas
  • Expunere la intemperie
  • Resguardar la electronica

Considerăm că am învățat să utilizăm PTR pentru durea lor, sub cost și ușor acces.

Dado que los hexágonos irían acomodados juntos el uno with the other, se tenía que think de what way pasarían the cables into them, y por esa reason se diseñó cada módulo as una specie de sandwich, donde por enmedio pasarían los cables de la electrónica.

Aveam atunci că fabricăm o structură de dublu hexagon, cu câteva postări pe care le separăm.

La tratarea unei platforme pentru piese, se face ușor să considerăm un diametru extern pentru hexagonul de aproximativ 70 cm, pentru că afară de bun dimensiune. Hicimos el ejercicio de cortar en papel varios hexágonos con ese diámetro antes de hacer la estructura.

Cu tot acest lucru definit, începem fabricarea de la noi primer prototip.

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 angulos y longitudinal que deberían tener los tramos de PTR.

Cortar de manera precisa los tramos de PTR este o zonă destul de dificilă, iar mai mult când nu există instrumentul adecvat. Nosotros a falta de una sierra ingletadora, usamos una esmeriladora, ceea ce a complicat mult acest proces. Debes ser cuidadoso using this tool, ya that is very easy 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). O dată când probăm că coincid cu hexagonul de MDF, continuăm cu soldadura.

Soldamos primero los hexágonos por separado, iar apoi soldăm la postările de separare. Todo un reto!

Somos unos principiantes en soldadura y pronto nos dimos cuenta que nos ibamos a limitar a soldar doar acel prototip, și restul încomendarlo a unui popor experimentat. Dacă tu ești un bun soldator, animează-i pe toți cei hexagoni!

Ya cu structura finalizată, pintamos de blanco con aerosol. Te recomandăm să fac acest lucru într-un loc ventilat și unde se poate colga structura pentru care puedele se vor pintarla pentru toți cei angajați.

Pasul 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 with the structure metálica, ahora seguía think in two things:

  • La suprafață care să protejeze electronica.
  • La suprafața căruia utilizatorul pisaría.

La electronica că iría en cada hexágono consistía únicamente en la tira de neopixeles. Necesităm ceva care să fie rezistent la apă, în caz de care vă vom lovi și se acumulează apa debajoasă de fiecare hexagon.

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

Pentru su parte, pentru suprafața căruia i-ar fi folosit utilizatorului, am vrut ca afară cu acrilic, la duda era ce atât de grușit că avea să pună. El único color posible era blanco opalino, pentru care ocultă tira de neopixele și pentru difuminarea luminii. Desafortunadamente no hay mucha variedad en cuanto a grosores, el más grueso disponible era de 1 cm.

În acest prim prototip, proiectăm o specie de tapă pentru a evita că apa se filtrează pentru o orală. Pentru 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 cu pegacril.

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

Notă: Cu anticipație, știam că este peligroso cortar trovicel cu láser, postat care este făcut din PVC. Con ayuda y consentimiento 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. 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, dar nu a trecut o săptămână pentru ca părțile de la tapa de acrilic să înceapă a se despărți. În plus el acrilic se pandeaba mult cu greutatea unei persoane promedio.

Como ya no had acrílico opalino more grueso, optamos por reduce el perímetro del hexágono a 50 cm, haciendo la superficie más pequeña este este mai rezistentă. Dacă bine putem coloca câteva suporturi de refuz în partea de jos a acrilicului, se veria la umbra de aceștia când se iluminează hexagonul.

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

Această ultimă structură ar fi definitivă pentru proiectul nostru, în modelul 3D pe care îl avem compartimentate care au specificate dimensiunile lor.

También descartamos la idea tener una tapa compuesta de varias caras pegadas con pegacril. În su lugar decidimos uasr solo o suprafață de acrilic care atornillamos por arriba a la estructura. Tanto el acrílico como el trovicel se tuvieron that ajustar to new size. Cortam în láser 10 hexágonos de acrílico, cu router CNC 10 hexágonos de trovicel.

Pasul 5: Instalează La Tira De Neopixeles

Instalează La Tira De Neopixeles
Instalează La Tira De Neopixeles
Instalează La Tira De Neopixeles
Instalează La Tira De Neopixeles
Instalează La Tira De Neopixeles
Instalează La Tira De Neopixeles

Pentru iluminare, probam de ce mod se poate ilumina mai bine acrilic. En definitiva a fost colocând tira 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 problema, porque un solo metro no alcanza para cubrir toată orilla de nuestro hexágono, por lo que tuvimos que unir pedazos.

Adafruit tiene una guía bastante completa sobre estas tiras, te recomandăm leerla înainte de a folosi.

Cu următoarele ticuri:

  • La începutul fiecărei benzi, soldăm un rezistor de 470 ohmi. Se recomienda care este resistor vaya lo more cercano possible a la tira, în locul del pin de Arduino.
  • En el otro extremo, unimos la tira de un metro, cu un tramo de unos 20 cm pentru a completa circumferința hexagonului.
  • Como la plataforma iba a estar expuesta a lluvia e intemperie, cuprinde tiras a prueba de agua, care traen un recubrimiento. Al unir tiras, tuvimos that open this recubrimiento for that the LEDs estuvieran lo mas junts possible, y then sellarlo with help de unas tapitas impresas in 3D y silicón. În fotografiile pe care le puteți vedea mai multe la detalii esto.
  • Fijamos las tiras a structura cu velcro.
  • În cele din urmă, a tira le soldamos o extensie (de aproximativ 20 cm) de cablu de 3 vieți, care a scăzut pentru o perforare în trovicel.

Pasul 6: Instalează El Interruptor

Image
Image
Instalează El Interruptor
Instalează El Interruptor
Instalează El Interruptor
Instalează El Interruptor

Hay varias alternativas para sensar las pisadas del usuario: sensor capacitivo, sensor de distancia, sensor de fuerza, velostat, etc. Por otra parte, doar necesitabamos detectar un signal de encendido / apagado y un interruptor hace justamente eso.

Despre ce întrerupător elegir, fuimos la tienda de electrónica para ver las opciones. Buscábamos algo robusto-industrial, y nos encontramos with a gran surtido. La alegerea se bazează de acord la dimensiunea noastră de structură și la forma de montaj. En las photos podrás apreciar that the switch that usamos has a specie de cuello with cuerda that allows power atornillarlo a una surface horizontal. Justo lo que necesitábamos!

Folosiți acest tip de switch-uri este foarte ușor, în partea de abajo trai unii cum se termină la cei care se pot înscrie cablul, nu este necesar să folosiți soldadura, în plus vor fi switch-uri sonore pentru că te-ai într-o carcasă pe care o ai 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 în funcție de ceea ce este aproape esten del acrílico. Para calibrarlos nosotros nos apoyamos de unas rondanas que imprime en 3D con el grosor necesario para que el switch rămâne ajustat la nivel care ne-ar trebui. No usamos rondanas comerciales porque eran muy gruesas.

Step 7: Soldar La Extension De Cable De Cada Hexágono

Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension De Cable De Cada Hexágono
Soldar La Extension 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 cables. Aceste cabluri au ajuns să ajungă într-un circuit de control de unde se comandă și se primesc semnale. Empleamos atunci un cablu de control de 5 vieți. Folosim termofil pentru a proteja punctele de uniune cu soldadura.

În celălalt extrem de această extensie, necesitabamos un conector de 5 pines. Hay unos DIN 5 industriales de propósito general pero son very caros y elevarían much the cost of project, era chiar mai mult folosind doi conectori XLR de audio care unul industrial. Soldamos entonces dos conectores XLR: unul pentru neopixele (3 cabluri) și altul pentru comutator (2 cabluri).

Usar dos conectores por hexágono is something aparatoso, dacă tienes suficient de presupus, te recomandăm pe larg că uses un conector industrial, te ahorrará work și se verá better.

De asemenea, calculăm lungul de fiecare cablu tomând în contul dimensiunilor unei structuri pe care iria pentru în jurul valorii de hexagonale. Es de gran utilidad, por su parte, planear por dónde pasarán los cables entre hexágonos y diseñar un diagrama de referință.

Pasul 8: Pregătiți El Gabinete Que Resguarda El Circuito De Control

Pregătește El Gabinete Que Resguarda El Circuito De Control
Pregătește El Gabinete Que Resguarda El Circuito De Control
Pregătește El Gabinete Que Resguarda El Circuito De Control
Pregătește El Gabinete Que Resguarda El Circuito De Control
Pregătește El Gabinete Que Resguarda El Circuito De Control
Pregătește El Gabinete Que Resguarda El Circuito De Control

A partir de ce ne-am folosi conectoare XLR macho, am fi nevoie să folosim conectori XLR hembra și vom debuta ser montați într-un gabinete. El número de conectores junto con el size de la fuente de voltaje y el LattePanda erau referințele dimensiunilor pe care le-am fi avut în vedere pentru gabinete.

Compramos un gabinete industrial, y para perforarlo utilizamos un taladro de columna y una sierra broca para los agujeros de los conectores XLR, cablurile de alimentare AC și audio. Acest proces a fost foarte târziu datorită amplorului gros de acest tip de cajas, aunado a căruia taladro necesită operarea a celei mai mari forțe și pentru ello necesitatea timpului de reposoare pentru fiecare timp de lucru (este important că busques această informație cu fabricantul de tu taladro, pues si no respetas estos tiempos, tu taladro se sobre-calentará con riesgo a dañarse).

Antes de perforar la caja, planifică locația circuitelor, flujul de semnal înăuntru și în afara gabinetei, orientarea de etă, și dacă va fi în interiorul unui mueble o a intemperiei. No olvides considera facilitatea de conectare pentru utilizator.

Step 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

Circuitul de control este destul de simplu. Como nuestra plataforma se compone de 10 pads, account with 10 interruptores (entradas) și 10 tiras de neopixeles (salidas). Aceste 20 de dispozitive vor interacționa cu Arduino care va fi integrat la LattePanda, prin intermediul piniilor lor digitale. Pese a that this card account with 20 pines digitales, dos de they are dedicados the communication serial (Rx y Tx) y lo recomandable es no uselos. Entonces tuvimos that recurrir al use 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 lectura, numai usemos 5.

Por su parte, los neopixeles decidimos sí conectarlos directo a los pines de Arduino, dado que en diferentes pruebas que hicimos, pot ajunge la a avea probleme atunci când se manejan printr-un MUX și hacen más complejo el código. Sin embargo, si tienes un buen nivel de programare, nu are probleme pentru a folosi un MUX dedicat la tiras.

Pentru protejare și darle ventilație la LattePanda ne folosim un gabinete dedicat care include ventilator. Con el gabinete puesto, sería difícil montar sobre los pines un shield a donde irían soldadas las conexiones de los cables y el MUX, motiv pentru care se proiectează un circuit aparte foarte simplu la care soldații conectorii, unele rezistente și el MUX.

Como el circuito es tan básico, lo soldamos direct sobre una Perma-proto, igual lo puedes soldar sobre una placa perforada, o bien, fabricar tu mismo el PCB. Aici te compartim el design în Fritzing.

Pasul 10: Conectați Los Pads la circuitul de control al alimentației

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

Teniendo el circuitito de control ya soldado to the pins de la LattePanda y with the gabinete perforado, hicimos lo siguiente:

  • Atornillar los conectores XLR hembra al gabinete
  • Etichetați conectorii cu numele lor respectivi
  • Soldați cablul conectorilor XLR la unii conectori de tornillo
  • Probar continuitate în tot ceea ce este cablat
  • Fijar la fuente, el circuito de control, y la LattePanda al gabinete
  • Organizați cablurile cu cinchos și sujeta cinchos
  • Conectează cablurile de la tampoane la gabinete

În fotografiile se poate vedea foarte aparatos interiorul gabinete, abandonând puțin clar ceea ce hicimos, dar acă te compartim și un diagrama detaliată a conexiunilor.

Pasul 11: Programare

Image
Image
Programare
Programare
Programare
Programare

În acest tip de proiecte, este mult mai mult cómod dedicat la programare, o dată când ai hardware-ul bine asamblat: fără falsuri; conexiuni; listo para uso rudo etc.

Pentru programarea începe cu partea muzicală, care sunt proiectate pentru propriile noastre sunete, dar nu ne-am dat timp de profunzime cu așa, astfel încât să optăm pentru a face un controlor MIDI, unde fiecare pad hexagonal dispare un sample.

  • Pentru controlorul MIDI, ne ajută mult această informație.
  • Utilizamos esta librería para Arduino.
  • Pentru el patch-uri în Pure Data ne folosim acest lucru.
  • Y para los samples hay varias opciones gratuitas que puedes encontrar en internet.

Respect al manejului neopixelelor, folosim libraria FastLED.

În cele din urmă, pentru jocul "Simon Says" a fost destul de ajutor este instructiv.

Pasul 12: Fabricarea De Structură De Protecție Pentru 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 had something that fijara a the hexágonos y no se movieran when one was sacando their best steps de baile, por lo that was necesar Consider a second structure that complete with two functions:

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

Fabricat o structură cu aceste caracteristici nu ar fi ușor de făcut, astfel încât să decidim să încomendarlo a expertilor. În fotografiile pe care le poți vedea lucrarea de artă care a avut aceste artezane.

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

Recomandat: