Sommario:

Giacca da spettacolo di luci che reagisce alla musica: 7 passaggi (con immagini)
Giacca da spettacolo di luci che reagisce alla musica: 7 passaggi (con immagini)

Video: Giacca da spettacolo di luci che reagisce alla musica: 7 passaggi (con immagini)

Video: Giacca da spettacolo di luci che reagisce alla musica: 7 passaggi (con immagini)
Video: Ingoiare il latte del trallalero fa bene? #shorts 2024, Luglio
Anonim
Giacca da spettacolo di luci che reagisce alla musica
Giacca da spettacolo di luci che reagisce alla musica

Questo tutorial è stato prodotto come parte del mio progetto dell'ultimo anno per la mia laurea in tecnologia musicale ed elettronica applicata presso l'Università di York. Si rivolge a musicisti con un interesse per l'elettronica. Il prodotto finito sarà una matrice LED sul retro di una giacca in grado di produrre uno spettacolo di luci a tempo di musica. Questo verrà fatto analizzando gli ingressi audio utilizzando Pure Data e Arduino. La giacca avrà due impostazioni che possono essere controllate da un interruttore. Un'impostazione controllerà i LED in base all'ampiezza della musica e l'altra farà lampeggiare i LED uno alla volta e cambiare colore in base al tono.

Come funzionerà?

Questo dispositivo sarà composto da due circuiti separati. Uno sarà basato su un Arduino Mega collegato direttamente a un computer. L'altro circuito sarà basato su un Arduino LilyPad e sarà completamente contenuto all'interno della giacca e alimentato tramite una batteria da 9V. Entrambi questi circuiti comunicheranno tra loro in modalità wireless utilizzando i moduli XBee. I segnali audio verranno ricevuti dal microfono integrato nel computer e analizzati in Pure Data per ottenere dati di ampiezza e frequenza. Queste informazioni verranno trasferite all'Arduino Mega tramite un circuito di ingresso MIDI e verranno quindi trasmesse al LilyPad utilizzando gli XBees. Il LilyPad determinerà quindi come reagiranno i LED sulla giacca.

Cosa ti servirà

Per il Mega Circuito

  • Arduino Mega 2560
  • XBee Explorer regolamentato
  • Antenna Trace XBee 1mW - Serie 1
  • Scudo di prototipazione per il Mega
  • USB da tipo A a B
  • Cavo da USB a MIDI
  • Presa MIDI
  • 1 x resistenza da 220
  • 1 x 270Ω resistore
  • 1 x 1N4148 Diodo
  • 1 x 6N138 Optoaccoppiatore

Per il circuito LilyPad

  • Scheda principale LilyPad Arduino 328
  • LilyPad XBee Breakout Board
  • Antenna Trace XBee 1mW - Serie 1
  • LilyPad FTDI Basic Breakout Board
  • 72 x LED LilyPad (una gamma di tutti i colori disponibili tra cui bianco, blu, rosso, giallo, verde, rosa e viola)
  • Interruttore a scorrimento LilyPad
  • Cavo USB 2.0 A-Maschio a Mini-B
  • Batteria da 9V
  • Clip per batteria da 9 V

Altro

  • Giacca
  • Computer con Pure Data e Arduino IDE installato
  • Cavo dell'attrezzatura
  • Attrezzatura per saldatura
  • Pinza tagliafili
  • Spelafili
  • Ago con cruna grande
  • Filo
  • Filo conduttivo
  • Forbici
  • Metro A nastro
  • Colla per tessuti o smalto trasparente per unghie
  • Gesso o Eyeliner bianco
  • Tessuto per una fodera o una vecchia t-shirt
  • Velcro
  • Trapano (possibilmente)
  • LED standard (per test)
  • Tagliere (per test)
  • Un'altra resistenza da 220Ω (per il test)
  • Multimetro (per test)

Il costo di questo progetto dipenderà molto da quanta parte dell'attrezzatura di cui sopra possiedi già. Tuttavia, è probabile che sia da qualche parte tra £ 150 - £ 200.

Una breve nota: le schede LilyPad sono progettate per essere cucite direttamente sui tessuti e quindi la saldatura di una clip della batteria da 9 V su una può causare problemi. La connessione può essere delicata e si rompe facilmente. Puoi ottenere schede LilyPad appositamente progettate per batterie AAA o LiPo che potresti decidere di utilizzare. Tuttavia, ho comunque scelto di seguire il percorso dei 9 V poiché la durata della batteria è maggiore di quella degli AAA e la mia università ha restrizioni sull'uso delle batterie LiPo.

Passaggio 1: creazione del circuito di ingresso MIDI

Creazione del circuito di ingresso MIDI
Creazione del circuito di ingresso MIDI
Creazione del circuito di ingresso MIDI
Creazione del circuito di ingresso MIDI
Creazione del circuito di ingresso MIDI
Creazione del circuito di ingresso MIDI

Prima di tutto, consideriamo il circuito di ingresso MIDI. Questo dovrà essere costruito sulla scheda di prototipazione che si inserirà nell'Arduino Mega. Questo verrà utilizzato per inviare messaggi MIDI dalla patch Pure Data al Mega tramite il suo pin "COMMUNICATION RX0". Vedi sopra per uno schema elettrico e una foto. A seconda della tua scheda di prototipazione, il tuo layout potrebbe essere leggermente diverso, ma ho scelto di posizionare la presa MIDI nell'angolo in basso a sinistra. Potrebbe essere necessario utilizzare un trapano qui per allargare i fori sullo schermo in modo da adattare la presa. I fili rossi in foto sono collegati a 5V, quelli marroni sono collegati a massa, il filo nero è collegato al pin 3 del 6N138, il filo blu è collegato al pin 2 del 6N138 e i fili gialli sono collegati all'RX0 spillo. Lo spazio è lasciato sul lato destro della scheda di prototipazione per lasciare spazio all'XBee in seguito. Probabilmente sarà necessario fare delle interruzioni nelle tracce sul tabellone. Per questo esempio, dovevano essere realizzati tra i pin del 6N138.

Test del circuito di ingresso MIDI

Per testare il circuito, carica il codice seguente su Arduino Mega utilizzando il cavo USB da tipo A a B. Assicurati che lo scudo non sia inserito quando lo fai poiché il codice non può essere caricato se qualcosa è collegato ai pin RX o TX. Inoltre, il codice include la libreria MIDI.h che potrebbe essere necessario scaricare, disponibile al link sottostante.

MIDI.h

Quindi, inserisci lo scudo nel mega e collegalo a un'altra porta USB sul tuo computer tramite il cavo MIDI a USB. L'estremità MIDI che dovrai utilizzare sarà etichettata come 'out'. Crea un semplice circuito su una breadboard collegando il pin 2 a un resistore da 220Ω e quindi collegandolo all'anodo di un LED standard. Collegare il catodo dei LED a terra.

Quindi, crea una semplice patch Pure Data con un messaggio [60 100] e un messaggio [0 0] entrambi collegati a un oggetto noteout tramite il suo ingresso sinistro. Assicurati che questa patch sia collegata al circuito di ingresso MIDI aprendo le impostazioni MIDI e cambiando il dispositivo di uscita. Se questo non è disponibile, assicurati di aver collegato il circuito MIDI al computer prima di aprire Pure Data. Ora, se il tuo circuito è corretto, il LED dovrebbe accendersi quando viene premuto il messaggio [60 100] e dovrebbe spegnersi quando viene premuto il messaggio [0 0].

Passaggio 2: progettazione della matrice LED

Progettare la matrice LED
Progettare la matrice LED
Progettare la matrice LED
Progettare la matrice LED
Progettare la matrice LED
Progettare la matrice LED

Successivamente, è necessario considerare la matrice LED per il retro della giacca. Questo sarà collegato direttamente alla scheda LilyPad principale. Normalmente, per controllare i LED utilizzando un microcontrollore, ciascuno di essi sarebbe assegnato ai propri pin individuali. Tuttavia, con un solo Arduino LilyPad questo sarebbe molto limitante. In totale, LilyPad ha 12 pin digitali e 6 analogici, quindi potenzialmente 18 pin di uscita. Tuttavia, poiché uno di questi pin verrà utilizzato in seguito per controllare un interruttore a scorrimento, ne rimarranno solo 17.

In questa situazione può essere utilizzata una tecnica chiamata multiplexing per massimizzare il potenziale dei pin di controllo del LilyPad. Questo sfrutta due fatti:

  • I LED sono diodi e consentono alla corrente di fluire solo in una direzione.
  • Gli occhi e il cervello umani elaborano le immagini molto più lentamente di quanto la luce possa viaggiare, quindi se i LED lampeggiano abbastanza velocemente, non lo noteremo. Questo è un concetto noto come "Persistenza della visione".

Utilizzando questa tecnica il numero di LED che possono essere controllati è (n/2) x (n-(n/2)) dove n è il numero di pin di controllo disponibili. Pertanto, con 17 pin disponibili dovrebbe essere possibile controllare 72 LED in una matrice 9x8.

Uno schema per la disposizione dei LED in una matrice 9x8 può essere visto sopra, compresi i suggerimenti per i pin a cui ogni riga e colonna dovrebbe essere collegata. È importante notare che le righe e le colonne non devono toccarsi. Inoltre, non sono necessari resistori a causa del fatto che ogni LED ha il proprio integrato con una resistenza di 100.

Prima di iniziare a cucire dovresti pianificare il layout del circuito sulla giacca. Un buon punto di partenza è segnare sulla giacca dove andranno i LED con piccoli punti, usando un metro a nastro per assicurarti che siano uniformemente distanziati. Per una giacca di pelle nera, l'eyeliner bianco funziona molto bene e può essere facilmente rimosso in caso di errore. Tuttavia, anche altri mezzi come il gesso possono funzionare a seconda del materiale e del colore della giacca. La disposizione dei colori dei LED che ho usato può essere vista sopra che funzionerà con il codice fornito in seguito. Puoi utilizzare un layout diverso anche se questo dovrà essere modificato nel codice.

La prossima cosa a cui pensare è dove andranno LilyPad, LilyPad XBee e l'alimentatore. Per la giacca che ho usato, il posto più sensato e discreto sembrava essere sul retro della giacca, sul fondo e sulla fodera interna. Questo perché è improbabile che venga urtato dalle braccia di chi lo indossa qui e può accedere facilmente alla matrice LED. Inoltre, dato che la giacca che ho usato era larga sul fondo, era comunque comoda.

Passaggio 3: cucire la matrice LED

Cucire la matrice LED
Cucire la matrice LED
Cucire la matrice LED
Cucire la matrice LED
Cucire la matrice LED
Cucire la matrice LED

A questo punto puoi iniziare a cucire. Il filo conduttivo può essere difficile da lavorare, quindi ecco alcuni suggerimenti utili:

  • Incollare un componente in posizione utilizzando la colla per tessuti renderà molto più facile la cucitura.
  • Diversi tipi di punti avranno proprietà estetiche e funzionali diverse, quindi vale la pena esaminarli prima di iniziare. Un punto in esecuzione di base, tuttavia, dovrebbe andare bene per questo progetto.
  • I nodi tendono ad allentarsi abbastanza facilmente con il filo conduttore in quanto è più “elastico” del normale. Una soluzione a questo è usare una piccola quantità di smalto trasparente o colla per tessuti per sigillarli. Lascia che si asciughino prima di tagliare la coda.
  • Quando si creano connessioni ai componenti del circuito o si uniscono due linee di filo conduttivo, è una buona idea cucirle più volte per garantire che sia stato effettuato un buon collegamento meccanico ed elettrico.
  • Assicurati che l'ago sia affilato e abbia una cruna grande. Passare attraverso la giacca può essere difficile e il filo conduttivo è più spesso del normale.
  • Fai attenzione ai peli sciolti sul filo. Questi possono creare cortocircuiti nel circuito se capita di toccare altre linee di cucitura. Se questi diventano un grosso problema, tutte le linee possono essere sigillate con lo smalto trasparente per unghie o la colla per tessuti una volta che il test è stato eseguito e tutto funziona correttamente.

Un buon punto di partenza per cucire è con le righe. Per renderli il più dritti possibile, puoi disegnare linee deboli da cucire usando un righello. Dopo averli cuciti, passa alle colonne. Bisognerà fare molta attenzione ogni volta che si raggiunge una fila perché è essenziale che le due non si incrocino. Questo può essere ottenuto creando il punto per la colonna all'interno della giacca per questa giunzione, come mostrato nella foto sopra. Una volta completate tutte le righe e le colonne, è possibile utilizzare un multimetro per verificare che non ci siano cortocircuiti.

Una volta che sei soddisfatto, inizia a cucire i LED per la colonna all'estrema destra della giacca. Assicurarsi che ogni anodo sia collegato alla propria riga e che ogni catodo sia collegato alla colonna a sinistra. Quindi, posiziona il LilyPad Arduino in posizione usando la colla per tessuti da qualche parte all'incirca sotto questa colonna, assicurandoti che i pin per la scheda breakout FTDI siano rivolti verso il basso. Cucire il pin 11 della LilyPad alla riga 1, il pin 12 alla riga 2 e così via fino a quando il pin A5 è cucito alla riga 9. Quindi, cucire il pin 10 alla colonna all'estrema destra. Per testare questa prima colonna puoi usare il codice qui sotto. Carica il codice e alimenta il LilyPad collegandolo al computer utilizzando la scheda breakout FTDI e il cavo USB 2.0 A-Male to Mini-B.

Se la porta corretta non è disponibile quando si collega il LilyPad, potrebbe essere necessario installare un driver FTDI disponibile dal collegamento sottostante.

Installazione del driver FTDI

Una volta accesa questa prima colonna di LED, è il momento di cucire il resto sulla giacca. Questo è un processo che richiede molto tempo e quindi è probabilmente meglio essere distanziati in pochi giorni. Assicurati di testare ogni colonna man mano che procedi. Puoi farlo adattando il codice sopra in modo che il pin per la colonna che vuoi testare sia dichiarato come output nella configurazione e quindi sia impostato su LOW nel ciclo. Assicurati che gli altri pin della colonna siano impostati su ALTO in quanto ciò garantirà che siano disattivati.

Passaggio 4: aggiunta di un interruttore

Aggiunta di un interruttore
Aggiunta di un interruttore

Successivamente, puoi aggiungere un interruttore che verrà utilizzato per modificare le impostazioni sulla giacca. Deve essere cucito all'interno della giacca sotto la scheda Arduino LilyPad. Usando una filettatura conduttiva, l'estremità etichettata "off" deve essere collegata a terra e l'estremità etichettata "on" deve essere collegata al pin 2.

Puoi testare lo switch usando il codice qui sotto. Questo è molto semplice e accende il LED in basso a destra se l'interruttore è aperto e lo spegne se l'interruttore è chiuso.

Passaggio 5: rendere il dispositivo wireless

Rendere il dispositivo wireless
Rendere il dispositivo wireless
Rendere il dispositivo wireless
Rendere il dispositivo wireless
Rendere il dispositivo wireless
Rendere il dispositivo wireless

Preparazione di LilyPad XBee e XBee Explorer

Preparare LilyPad XBee per la configurazione saldando su un connettore maschio ad angolo retto a 6 pin. Ciò consentirà in seguito di essere collegato a un computer tramite la scheda LilyPad FTDI Basic Breakout e il cavo USB Mini. Inoltre, saldare la clip della batteria da 9 V al LilyPad XBee con il filo rosso che va al pin "+" e il filo nero che va al pin "-".

Collega la scheda Explorer allo shield di prototipazione per Arduino Mega. 5V e Ground sulla scheda Explorer dovranno essere collegati a 5V e Ground sul Mega, il pin di uscita sull'Explorer dovrà essere collegato a RX1 sul Mega e l'ingresso sull'Explorer dovrà essere collegato a TX1 sul Mega.

Configurazione degli XBees

Successivamente gli XBees devono essere configurati. Prima di tutto, dovrai installare gratuitamente il software CoolTerm che è disponibile dal link sottostante.

Software CoolTerm

Assicurati di distinguere in qualche modo tra i due XBees poiché è importante non confonderli.

Innanzitutto, configura XBee per il computer. Inserirlo nella scheda breakout LilyPad XBee e collegarlo al computer utilizzando la scheda breakout base FTDI e il cavo USB Mini. Apri CoolTerm e nelle Opzioni, seleziona la porta seriale corretta. Se non riesci a vederlo, prova a premere "Riesegui scansione porte seriali". Quindi, assicurati che la velocità di trasmissione sia impostata su 9600, attiva l'eco locale e imposta l'emulazione chiave su CR. CoolTerm può ora essere collegato a XBee.

Digita "+++" nella finestra principale per mettere l'XBee in modalità di comando. Non premere Invio. Ciò consentirà di configurarlo utilizzando i comandi AT. Se l'operazione è andata a buon fine, dopo una breve pausa dovrebbe esserci un messaggio di risposta "OK". Se c'è un ritardo di più di 30 secondi prima della riga successiva, la modalità di comando uscirà e sarà necessario ripetere l'operazione. È necessario immettere numerosi comandi AT per impostare PAN ID, MY ID, ID destinazione e salvare le modifiche. Return deve essere premuto dopo ciascuno di questi comandi e questi possono essere visualizzati nella tabella sopra. Una volta che questo è stato completato per il computer XBee, deve essere disconnesso e lo stesso processo deve essere eseguito per la giacca XBee.

Puoi controllare le nuove impostazioni di XBee digitando ogni comando AT senza il valore alla fine. Ad esempio, se si digita "ATID" e si preme Invio, "1234" dovrebbe essere restituito.

Testare gli XBees

A questo punto, cuci LilyPad XBee sulla giacca accanto a LilyPad Arduino. I seguenti collegamenti devono essere realizzati con filo conduttivo:

  • 3.3V su LilyPad XBee su '+' su LilyPad
  • Da terra su LilyPad XBee a terra su LilyPad
  • RX su LilyPad XBee a TX su LilyPad
  • TX su LilyPad XBee a RX su LilyPad

Ora il dispositivo può essere testato per assicurarsi che gli XBees funzionino correttamente. Il codice sottostante chiamato "Wireless_Test_Mega" deve essere caricato su Arduino Mega e il suo scopo principale è ricevere messaggi MIDI dalla semplice patch Pure Data creata in precedenza e trasmettere valori diversi tramite XBee. Se viene ricevuta una nota MIDI con un pitch di 60, verrà trasmesso il messaggio 'a'. In alternativa, se viene ricevuto un messaggio di noteoff, verrà trasmesso 'b'.

Oltre a questo, il codice sottostante chiamato "Wireless_Test_LilyPad" deve essere caricato su LilyPad. Questo riceve i messaggi dal Mega tramite gli XBees e controlla di conseguenza il LED in basso a destra. Se viene ricevuto il messaggio 'a', che significa che una nota MIDI con un pitch di 60 è stata ricevuta dal Mega, il LED si accenderà. Se invece non si riceve 'a' il led si spegne.

Una volta caricato il codice su entrambe le schede, assicurarsi che lo shield sia stato reinserito nel Mega e che sia collegato al computer tramite entrambi i cavi. Inserisci il computer XBee nella scheda Explorer. Quindi, assicurati che la scheda Breakout FTDI sia scollegata dalla giacca e inserisci la giacca XBee nella LilyPad XBee. Collega la batteria da 9V e prova a premere i diversi messaggi in Pure Data. Il LED in basso a destra sulla giacca dovrebbe accendersi e spegnersi.

Passaggio 6: ritocchi finali

Tocchi finali
Tocchi finali
Tocchi finali
Tocchi finali
Tocchi finali
Tocchi finali

Il codice e la patch di dati puri

Quando sei soddisfatto che la giacca funzioni in modalità wireless, carica lo schizzo "MegaCode" qui sotto su Arduino Mega e lo schizzo "LilyPadCode" su LilyPad. Apri la patch Pure Data assicurandoti che DSP sia attivo e che l'ingresso audio sia impostato sul microfono integrato del tuo computer. Prova a riprodurre un po' di musica e a spostare l'interruttore. Potrebbe essere necessario regolare leggermente le soglie in Pure Data a seconda di quanto o poco i LED reagiscono all'audio.

Aggiunta di un nuovo rivestimento

Infine, per rendere la giacca più gradevole esteticamente e più comoda da indossare, è possibile aggiungere un'altra fodera all'interno della giacca per coprire le cuciture e i componenti. Questo dovrebbe essere fatto usando il velcro per consentire un facile accesso al circuito nel caso in cui sia necessario apportare modifiche.

Prima di tutto, cuci le strisce 'asole' (la parte più morbida) alla giacca all'interno, lungo la parte superiore e inferiore su entrambi i lati. È buona norma lasciare libero il fondo in quanto ciò consentirà all'aria di raggiungere i componenti. Quindi, taglia un pezzo di tessuto della stessa misura e cuci a questo le strisce di "gancio" del velcro, lungo la parte superiore e inferiore di entrambi i lati. Inoltre, sullo stesso lato del velcro e nella posizione più comoda, cuci una tasca in cui la batteria sarà in grado di sedersi. Vedi le immagini sopra per esempi.

Passaggio 7: hai finito

La tua giacca wireless Light Show dovrebbe ora essere completa e reagire con successo all'audio! Un'impostazione dovrebbe creare un effetto come una barra di ampiezza e l'altra dovrebbe avere singoli LED che luccicano al ritmo della musica con i loro colori a seconda del tono. Vedi sopra per esempi video. Nel caso ve lo stiate chiedendo, il colore e il tono sono correlati tramite l'Ordine dei Rosacroce che si basa solo sull'intonazione. Spero che questo progetto vi sia piaciuto!

Consigliato: