» Strumenti musicali »Sintetizzatore spaziale Kravox su Arduino

Sintetizzatore spaziale Kravox su Arduino



Il maestro ha inventato Kravox durante un progetto di ricerca presso la Lund University (Svezia), il cui obiettivo era quello di dare ai controllori di strumenti musicali digitali la sensazione di strumenti meccanici tradizionali. Ora il maestro vuole rendere Kravox accessibile a tutti come piattaforma musicale per la sperimentazione. È per questo che ha creato questo briefing dettagliato, che consentirà a quante più persone possibile di utilizzare questo nuovo interessante strumento musicale.

Giocare a Kravox è piuttosto semplice. Immagina di suonare con un oggetto normale, come una scopa, e il modo in cui lo tocchi e lo sposti nello spazio controlla come viene generato il suono. Puoi guardare e ascoltare come suonare Kravox, così come il processo di creazione dello strumento, alla fine dell'articolo nei video.

Strumenti e materiali:
- tagliere 50 * 24 fori -1 pezzi;
-40 pin maschio connettori -5 pezzi;
Spina -40 pin - 5 pezzi;
- Potenziometri 10 kOhm e maniglie per loro - 5 pezzi;
-Blu LED 5 mm standard - 3 pezzi;
- Resistori 150 Ohm - 3 pezzi;
- Condensatore 10 uF - 2 pezzi;
- Condensatore 100 nF - 2 pezzi;
-Radio modulo NRF24L01 - 2 pezzi;
-Arduino nano -2 pezzi;
-Resistori 220 Ohm -3 pezzi;
- Schede sensori sensori MPR121 - 2 pezzi;
- Giroscopio digitale GY-521 MPU 6050 - 1 pz;
- Cavi da USB-A a USB-C;
-4 metri (minimo) di nastro di rame largo 1 cm;
-Poverbank;
-7 metri (minimo) fili di diversi colori;
-0,2 metri, tubo termorestringente ø = 3 mm;
-Accessori per saldatura;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Pinze;
-Karton;
- Pistola per colla;
-Skotch;
-Kley;
-Gomma da ufficio;
-Zazhimy;




Primo passo: teoria
Kravox è uno strumento musicale digitale multipiattaforma open source composto da tre componenti: un controller / controller, un ricevitore e un software.

È possibile collegare fino a tre controller wireless. Ciascun controller elabora i dati di orientamento e accelerazione dal giroscopio digitale MPU-6050 e i dati touch da due schede sensore MPR121 collegate ad Arduino Nano. Il controller invia i dati al ricevitore utilizzando il trasmettitore radio nRF24L01. Se è necessario utilizzare più di un controller, al secondo e al terzo controller devono essere assegnati indirizzi individuali.

Il ricevitore trasmette i dati ricevuti dal controllore (i) al computer collegato insieme ai dati raccolti da diversi potenziometri.Il codice ricevitore fornito consente di stabilire la comunicazione con tre controller, ma funzionerà anche con solo uno o due senza impostazioni.

I dati dal ricevitore vengono elaborati in un programma scritto in quel suono in uscita.
Il bello di Kravox è che la sua forma, il modo in cui suona e come si gioca, può essere regolato. Ciò ha dato alla procedura guidata l'opportunità di sviluppare una versione di Kravox di facile copia per questa lezione.


Passaggio 2: creare una scheda controller
Successivamente, la procedura guidata spiega come fare elettronica controller passo dopo passo dai dettagli di cui sopra.
Se non si è sicuri su dove saldare il cavo, è sempre possibile tornare allo schema elettrico e verificare se i componenti sono collegati correttamente.


Il primo passo è tagliare la breadboard e i connettori e assemblarli insieme a un condensatore piccolo e grande, che aiuta ad aumentare l'affidabilità del trasmettitore radio.

Taglia la tavola con un coltello multiuso
Taglia i connettori con un seghetto (il maestro li ha messi sul libro per allinearli dal tavolo)
Installare i connettori sulla breadboard e saldare. Puoi già connettere ogni coppia di contatti di due
connettori lunghi che sono adiacenti l'uno all'altro. Per il resto, è sufficiente collegarli semplicemente con una piccola saldatura - preferibilmente i contatti che, secondo lo schema elettrico, non saranno collegati in seguito. Durante la saldatura di condensatori, prestare attenzione alla polarità del condensatore elettrolitico di 10 microfarad (il più grande dei due). Una parte avrà una striscia e, di regola, una gamba più corta. Questo lato deve essere collegato a terra. Il condensatore da 100 nanofarad più piccolo non è polarizzato e può essere saldato in alcun modo.





Inoltre, i resistori a LED sono saldati. Prestare attenzione alla polarità del LED: un lato di solito ha una gamba più corta. Questo lato dovrebbe essere collegato a terra nel passaggio successivo. Un filo blu è saldato all'altra gamba. L'altra estremità del filo è saldata al connettore a cui verrà collegato il pin D3 di Arduino.


Successivamente, vengono montati tutti i cavi di alimentazione rosso e blu. Rosso per 3,3 volt e blu per terra (GND).


Tre schede sensore comunicano tramite protocollo I2C (circuito integrato). Ciò significa che possono essere tutti collegati agli stessi due pin Arduino, quindi saldiamo i fili giallo e verde ai sensori e i pin Arduino A4 e A5. È inoltre necessario montare un cavo bianco per collegare i contatti di interruzione del giroscopio.


Il trasmettitore radio comunica tramite il protocollo SPI (seriale
interfaccia periferica), che richiede più connessioni rispetto a I2C, la procedura guidata aggiunge fili neri, grigi, marroni, viola e arancioni.


Ora è il momento di preparare i componenti. Oltre alla saldatura su connettori a pin, in caso contrario
saldato, è necessario prestare particolare attenzione alla scheda del sensore! Per i modelli economici dalla Cina, il perno dell'indirizzo è rigidamente collegato a terra senza un resistore intermedio, quindi è necessario tagliare fisicamente questa connessione nella parte inferiore della scheda con un coltello. Tagliare tra due pad vicino al punto in cui è scritto ADD. La procedura guidata consiglia di suonare con un multimetro per assicurarsi che i contatti non siano collegati.


Quando tutte le parti hanno connettori saldati e le schede dei sensori sono preparate, è possibile collegare l'Arduino Nano, un giroscopio, due schede dei sensori e un modulo radio alla scheda del controller.


Passaggio tre: scaricare il codice
Dopo un doppio controllo, se tutto è collegato correttamente, il passaggio successivo è scaricare Arduino nano fornito, ma prima di poterlo fare, dovrai installare le librerie per il giroscopio, le schede dei sensori del sensore e il trasmettitore radio. Se non conosci le librerie Arduino, scopri come installarle.
Il giroscopio MPU6050 richiede le librerie I2Cdev.h e MPU6050_6Axis_MotionApps20.h, che possono essere scaricate.
Per le schede a sfioramento MPR121, è necessaria la libreria BR conduttiva MPR121.h, che può essere trovata. Esistono almeno due versioni della libreria. Assicurati di installare la versione sviluppata da Bare Conductive, non la versione sviluppata da Adafruit.
La scheda del trasmettitore radio NRF24L01 richiede le librerie TMRh20 nRF24L01.h e RF24.h, che possono essere scaricate. Nota: ci sono anche almeno due versioni di queste librerie con lo stesso nome. Assicurati di installare il TMRh20 sviluppato, non il maniacbug.
Una volta installate le librerie, è possibile scaricare il codice Kravox-Controller.

Per verificare se il controller funziona, è possibile abilitarlo a trasmettere dati da sensori a sfioramento e un giroscopio attraverso un monitor seriale. Per fare ciò, è necessario modificare l'ultima sezione del codice destinatario prima di scaricare: rimuovendo il segno di commento all'inizio (/ *) e alla fine (* /) di esso (vedi. Foto)

Dopo aver scaricato il codice con questa opzione, è necessario aprire il monitor seriale e impostare la velocità di trasmissione (velocità dati) su 115200. Ora è possibile vedere i dati dai sensori, che cambiano quando la scheda controller viene spostata e i contatti vengono toccati, dalle schede MPR121 che sono contrassegnate da 0 a 11.

Se non funziona nulla o si ottengono solo zeri, è necessario controllare attentamente il cablaggio e confrontarlo con lo schema sopra. Se si riceve un segnale errato dal monitor seriale, è necessario verificare se le velocità di trasferimento dei dati sono impostate correttamente.


Fase quattro: alimentazione della scheda

Per l'alimentazione, è necessario collegare la scheda del controller alla banca.
Se il banco non si spegne automaticamente dopo un po ', la scheda del controller è terminata e si può andare alla scheda del ricevitore. Altrimenti, seguire il passaggio successivo.

Fase cinque: risolvere il problema di alimentazione
In linea di principio, la scheda controller è pronta, ma alcuni banchi si spengono automaticamente dopo alcuni secondi quando sono collegati alla scheda controller, poiché consumano poca energia. Come soluzione, puoi semplicemente aggiungere tre resistori da 220 Ohm in parallelo tra i pin 5V e GND dell'Arduino.


Dopo aver ricollegato i componenti, (sicuramente) la scheda del controller finita appare così.


Passaggio 6: creare una scheda ricevente
In questo passaggio, la procedura guidata ti mostrerà come realizzare la scheda del ricevitore. Il processo è molto simile alla creazione di una scheda controller.


Per prima cosa devi tagliare la breadboard e i connettori. Quindi installare i condensatori. È possibile confrontare questo passaggio con il primo passaggio della creazione di una scheda controller per ulteriori informazioni.


Successivamente è necessario aggiungere tutti i fili rosso e blu. Rosso per 3,3 volt e blu per terra (GND).


Cablaggio per SPI di comunicazione.


La scheda del ricevitore è pronta, ma prima di caricare il codice Kravox-Receiver su Arduino Nano, è necessario innanzitutto creare un'interfaccia per il ricevitore.


Quindi la procedura guidata mostra come creare un'interfaccia con 4 potenziometri e un LED per il ricevitore. L'interfaccia è collegata, come nella prima figura, e sarà collegata alla scheda del ricevitore, come mostrato nella seconda figura.


La procedura è la seguente, per prima cosa devi prendere un fascio di 8 cavi e saldarne 5 ai contatti centrali dei potenziometri. Si consiglia di utilizzare gli stessi colori del diagramma per non confondersi.

Quindi, è necessario tagliare la breadboard 2 file di 17 fori e un connettore maschio a 17 pin. Collegare i cavi e il connettore alla scheda. Prestare attenzione allo schema sopra per assicurarsi di collegare i cavi nei punti giusti.


Ora è necessario saldare i fili blu (terra) a uno dei contatti di tutti i potenziometri. Saldare un LED blu con una resistenza di limitazione della corrente di 150 ohm.

Fili verdi di saldatura.

L'interfaccia finita dovrebbe assomigliare a questa (foto 1) e può essere collegata alla scheda del ricevitore in questo modo (foto 2).

Settimo passo: codice
Ora disponibile per il download sul ricevitore Arduino Nano.
Per verificare, è necessario apportare nuovamente una piccola modifica al codice prima di scaricare. Per impostazione predefinita, il destinatario visualizza i suoi dati in un formato che può essere interpretato come dati puri, ma non visualizza informazioni utili su un monitor seriale. Tuttavia, è possibile modificare questo comportamento nel codice modificando (aggiungendo // prima) la riga #define WRITE_AS_BYTES e (rimuovendo // prima) la riga // #define PRINT_VIA_SERIAL_MONITOR.


Passo otto: caso
Più lontano dalla striscia di rame, il master crea un sensore.


Per rendere il caso, il master utilizza caselle vuote.

Il maestro disegna il cartone. Taglia 24 strisce di rame e si fissa su un cartone.



Quindi il master taglia i fori di cartone 2 * 24 di larghezza e il connettore maschio a 24 pin su misura e salda 24 fili ad esso. I fili al centro dovrebbero essere lunghi almeno 10 cm. Allontanandoti dal centro, la lunghezza dei fili aumenta. Ad esempio, se si utilizza un nastro di rame largo 1 cm e la distanza tra gli elettrodi 3 mm, la lunghezza del filo dovrebbe aumentare di 1,3 cm, come mostrato di seguito: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Ora puoi saldare le seconde estremità dei fili alle strisce di rame e sigillare le strisce con del nastro.



Incolla il sensore nel corpo, quindi incolla un altro corpo (per la verifica).


Copre il retro della scheda controller con cartone.

Installa LED e power bank. È necessario disporre la banca di alimentazione in modo da poter collegare e scollegare il cavo USB, poiché è così che il controller si accende e si spegne. Collegare anche l'interfaccia touch alla scheda controller e metterla nella scatola.

Crea un ritaglio per il cavo USB-A-USB-C alla giunzione delle due scatole, lo tiene fuori e lo collega all'Arduino Nano.

Ora il controller è pronto.

Il maestro risolve il caso con l'aiuto di gomma da cancelleria. Se successivamente sorgono problemi con i sensori che rilevano il tocco quando non sono presenti, è necessario inserire materiale isolante, come pellicola o simili tra l'alloggiamento sensibile al tocco, il circuito e i fili. Collegare l'alimentazione senza toccare i sensori.


Passaggio 9: creazione di un caso ricevitore
Ora è necessario creare un alloggiamento per il ricevitore. La procedura guidata esegue numerosi fori rotondi per potenziometri e LED.


Incolla la scheda ricevente, il LED, i potenziometri a vite. Imposta le maniglie.




Passo dieci: completo
Ora che tutte le apparecchiature sono montate, è tempo di suonare! Per fare ciò, è necessario un software a cui è possibile collegare l'apparecchiatura. Per Kravox, questo è il software Pure Data Vanilla, che puoi scaricare gratuitamente.

Dopo aver installato Pure Data sul computer, è necessario eseguirlo e aprire il file Kravox.pd. Si noti che deve essere salvato sul computer nella stessa cartella della cartella drumsamples con cui viene fornito, altrimenti Pure Data non sarà in grado di trovare i file.
Non appena si apre l'interfaccia del programma Kravox.pd, è necessario aprire la finestra, come nella foto, e installare i quattro cosiddetti dispositivi esterni elencati in questa finestra. Installarli è semplice, basta fare clic su "aiuto" nel menu "Dati puliti", selezionare "Trova oggetti aggiuntivi su Internet" (potrebbe essere leggermente diverso), trovare "comport", "zexy", "freeverb" e "arraysize". "uno per uno e installa la versione più recente. Ora i quattro oggetti contrassegnati come comport, repack, freeverb e arraysize dovrebbero avere una struttura solida, come nella figura seguente. Per questo potrebbe essere necessario riavviare Pure Data.

Dopo aver installato i dispositivi esterni, è possibile collegare il ricevitore tramite USB. Se hai modificato il codice nella parte 4 per utilizzare il ricevitore con Arduino Serial Monitor, devi prima annullare questa modifica e caricare il codice sorgente nel ricevitore Arduino Nano prima di connettere e chiudere Arduino Serial Monitor.

Ora dai un'occhiata alla finestra Pure Data. Se vedi un flusso di dati rapidamente aggiornato, questo è fantastico, ma molto probabilmente ti mostrerà un messaggio rosso, come quello nella prima immagine, che viene aggiornato ogni due secondi.

Il testo in rosso potrebbe essere leggermente diverso, ma ciò significa che Pure Data non è stato ancora in grado di connettersi al ricevitore. Questo perché il programma deve specificare quale porta USB collegare. Le porte USB possono essere etichettate in modo diverso su dispositivi diversi; sul MacBook Pro 2014, Pure Data riconosce entrambe le porte USB come porta seriale 3, indipendentemente dal ricevitore a cui ci si sta collegando. Quindi la procedura guidata ha utilizzato Kravox con il Lenovo Yoga Pad con una sola porta USB funzionante, che è stata designata come porta seriale 6. Su Windows, le porte sono designate come 8 e 9. La procedura guidata consiglia solo di provare a scoprire quale numero funziona la porta USB sul dispositivo . Ha creato un dialogo come parte dell'interfaccia Kravox.pd (seconda foto), dove puoi semplicemente fare clic sui numeri fino a quando il dispositivo non funziona. Puoi anche provare i pulsanti "Mostra porte disponibili" e "Mostra dispositivi USB collegati".
Sintetizzatore spaziale Kravox su Arduino


Quindi è necessario fare clic su "Salva" in modo che Pure Data proverà a connettersi automaticamente a questa porta la volta successiva.
Se il codice del controller è stato modificato, è necessario ricaricare il codice.

Resta da collegare la scheda controller all'alimentazione. Quando lo fai, la custodia dell'interfaccia touch attorno alla scheda dovrebbe essere chiusa e la parte touch della custodia non dovrebbe toccare le mani o qualsiasi altra cosa.

Tutto è pronto, ulteriori informazioni possono essere visualizzate sul video.


5.5
5.5
5.5

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino

Ti consigliamo di leggere:

Passalo per lo smartphone ...