Sommario:

Interfaccia digitale musicale: 6 passaggi (con immagini)
Interfaccia digitale musicale: 6 passaggi (con immagini)

Video: Interfaccia digitale musicale: 6 passaggi (con immagini)

Video: Interfaccia digitale musicale: 6 passaggi (con immagini)
Video: Come PASSARE allo SPARTITO DIGITALE! Guida Completa per iPad e Android 2024, Luglio
Anonim
Interfaccia digitale musicale
Interfaccia digitale musicale

Benvenuti a tutti, Vorrei mostrarvi la mia interfaccia digitale musicale. L'ho fatto durante la mia laurea tecnica, questi sono i miei documenti di ricerca. Per cominciare, mi sono chiesto come posso comporre musica senza DAW, con materiali riciclati e possibilità di suonare in standalone.

In questo tutorial, ti insegnerò come utilizzare la comunicazione seriale per inviare / ricevere informazioni sui sensori (analogici e digitali) da Arduino a Raspberry pi verso il software puredata per attivare un suono.

I materiali richiesti sono:

x1 Lampone PI3

x1 Bordo di protezione PI3

x1 MicroSD (32G)

x1 Arduino UNO

x1 Sensore IR Sharp GP2Y0E02B

x1 tagliere

x1 Calibro di prova piastra (0,2)

x28 Resistenza 10MΩ

x2 Resistenza 1.8kΩ

x1 Resistenza 10kΩ

x20 Terminali maschio/femmina

x1 Supporto per saldatura

x1 bobina di stagno (1 metro)

x1 Saldatore

x25 Cinghie flessibili maschio/maschio

Passaggio 1: sensori

Sensori
Sensori
Sensori
Sensori
Sensori
Sensori

Ho usato 4 piezoelettrici provenienti dal telecomando Harmonix XBOX 360 "Guitar Hero". Ho usato un pulsante on/off perché l'interruttore reed magnetico del pedale jam guitar hero remote era fuori.

Ho usato un sensore IR Sharp GP2Y0E02B. Per tutti questi sensori, ho eseguito il montaggio pull-up per un funzionamento efficace…

Quindi empiricamente ho trovato il valore di resistenza al sensore del pulsante e al sensore IR. Tuttavia ho provato piezoelettrico per conoscere il fondo scala di questo, e il valore di resistenza fissato e applicato per i 4 sensori analogici.

Passaggio 2: montaggio pull-up

Montaggio pull-up
Montaggio pull-up
Montaggio pull-up
Montaggio pull-up
Montaggio pull-up
Montaggio pull-up
Montaggio pull-up
Montaggio pull-up

Dopo aver testato il piezoelettrico con il generatore di tensione, ho fissato il valore della resistenza a 7MΩ.

Il pull-up del gruppo di resistenza del pulsante era di 10 kΩ.

Per il sensore IR, ho utilizzato due resistenze da 1, 8kΩ tra rispettivamente la tensione di alimentazione e SDA (dati) e SCL (orologio).

Fai attenzione perché quei valori di resistenza sono per RTX Arduino UNO; qualcosa da sapere sull'ingresso di impedenza Arduino: 10MΩ.

Puoi vedere il montaggio pull-up nell'ultima immagine di questo passaggio; Ho fissato le cinghie piezoelettriche in 0 1 2 3 pin su UNO, pulsantiera in 2 pin digitali ma comunico il valore su 6 pin su UNO e sensore IR a 4 5 pin su UNO, tutti ingressi analogici dell'Arduino Uno.

Passaggio 3: codifica Arduino

Per assicurarmi che l'operazione fosse efficace, ho testato l'invio/ricezione delle informazioni dei sensori ad Arduino.

Ho messo i file in descrizione ma li trovi nella sezione esempi di programmazione Arduino Genuino, tranne il sensore IR perché non è completo, ho cambiato alcune informazioni nella sezione "definisci" come "shift" e ho cambiato il calcolo della misura per essere regolare nelle variazioni di distanza. Probabilmente hai visto "Wire" nel codice del sensore IR. Infatti ho usato il protocollo I2C per comunicare. Ti invito a vedere il protocollo I2C, molto interessante, puoi usare questo per trasmettere in tempo reale tutti i sensori digitali che vuoi.

Passaggio 4: entrambe le comunicazioni seriali Arduino Raspberry

Sia la comunicazione seriale Arduino Raspberry
Sia la comunicazione seriale Arduino Raspberry
Sia la comunicazione seriale Arduino Raspberry
Sia la comunicazione seriale Arduino Raspberry

Sì:D

Come puoi vedere nella prima immagine, il collegamento Arduino-Raspberry è una presa USB.

Ho trovato un modo per ricevere le informazioni dei sensori direttamente da PureData Extented installato in Raspberry PI. Perché PureData Extended? Perché la versione Vanilla non utilizza la stessa libreria di un'applicazione in ambiente Raspbian.

Quindi avvia StandardFirmata in Arduino Genuino per correggere I/O e valutare le variazioni nel modo giusto!

Per recuperare le informazioni di valore in Raspberry PI esistono 2 protocolli: Firmata e Msg.

Ho scelto Firmata per un motivo, era più semplice ottenere informazioni in PureData tramite patch Pduino, un ambiente.

Ti invito a scoprire Msg se utilizzi il protocollo OSC.

Passaggio 5: Patch PureData ricevuta

Patch PureData ricevuta
Patch PureData ricevuta

Infatti, dopo settimane di codifica su Genuino, sono riuscito a ricevere tutte le informazioni del mio sensore in un'unica pagina, questo ha permesso di vedere le variazioni in tempo reale grazie a Pduino, una patch in Puredata, sezione librerie extra.

Da questo passaggio, non tocchiamo più il codice Arduino. Le informazioni del valore sono leggibili.

Come ho notato al punto 3, ho ricevuto informazioni dal pulsante digitale in analogico a 6 pin, è stato semplice vedere il funzionamento efficace della comunicazione. Tutto in una riga.

Passaggio 6: sviluppo PureData

Sviluppo PureData
Sviluppo PureData
Sviluppo PureData
Sviluppo PureData
Sviluppo PureData
Sviluppo PureData
Sviluppo PureData
Sviluppo PureData

PureData è un linguaggio specifico e devi passare il tuo tempo libero per avere successo facendo un bel patchwork.

Alcune delle patch PureData saranno disponibili in GitHub.

Spero che quello che ho scritto qui ti abbia aiutato ad iniziare un tuo progetto vicino al mio.

Consigliato: