Jump to content
Piano Concerto - Forum pianoforte

Tastiera ad ultrasuoni


pianothor
 Share

Recommended Posts

Salve, scrivo qui perchè vorrei costruire un vero e proprio strumento a "tastiera".

Essendo in quinta superiore all'itis E.Fermi di mantova quest'anno dovrò preparare l'esame e di conseguenza la tesina..

Per la tesina ho proposto di progettare e creare una tastiera ad ultrasuoni (trasduttori ad ultrasuoni)

Cerco aiuto per quanto riguarda la parte di programmazione/elettronica sperando che ci sia qualcuno in grado di aiutarmi :)

Ovviamente non sarà una tastiera ad 88 tasti, nè 76 o 64 ma una cosa ridotta (un'ottava), proprio per mostrare il principio di funzionamento.

L'idea era quella di collegare 12 trasduttori ad ultrasuoni uno di fianco all'altro su un supporto e farli funzionare come interruttori on/off prima di tutto (quindi creare una semplice tastiera giocattolo senza velocity ecc) e poi, se possibile, variare il volume a seconda della distanza della mano da ciascun sensore ad ultrasuoni quindi leggendo effettivamente la distanza (per questo servono trasduttori e non sensori).

I miei dubbi sono:

- ponendo i trasduttori come on/off (??quindi ci sarà un circuito transistor on/off per ogni trasduttore??) si può entrare nei digital input di arduino e agire su arduino per convertire i segnali che mi arrivano in formato Midi e mandare il tutto sull'uscita USB di arduino?

- se si, ho pensato bene o dovrei usare un'altro metodo per fare arrivare i segnali al microprocessore?

- infine la domanda più importante, riuscirò a collegare questa tastiera ad ultrasuoni midi (TUM) a Windows e quindi a VST? mi basteranno i driver di arduino?

 

In poche parole vorrei costruire un controller midi con arduino ma non posso sfruttare una tastiera QWERTY di un pc vecchio o una vecchia tastiera giocattolo, ma vorrei costruire io stesso la tastiera utilizzando i trasduttori ad ultrasuoni e non so come fare, mi serve un piccolo aiuto :)

Link to comment
Condividi su altri siti

Ciao Pianothor, 

il progetto mi sembra un po' ambiziosetto per una tesina di quinto superiore... 

Conosco arduino ma non l'ho mai utilizzato. Ti dico come la realizzerei io.

Io non utilizzerei i trasduttori a ultrasuoni per diversi motivi. 

Dovendo creare una tastiera midi devi conoscere alla lettera il protocollo MIDI e già implementarlo (anche in una forma ridotta all'interno di un hardware come lo è arduino non è una cosa molto semplice. Non so se in giro sulla rete si trova già un codice open source che implementi il protocollo standard midi per arduino. Devi farti qualche giro. In ogni caso dovresti sapere che il protocollo standard MIDI utilizza 127 livelli di velocity e 127 note events. Dovresti dunque restringere il campo se utilizzi dei gli ultrasuoni. Probabilmente avrai una misurazione di una distanza ma stai lavorando nel campo continuo e dovrai pertanto restringerlo al campo discreto ponendo che in un certo intervallo si dovrà produrre una ed una sola velocity. Poi con un decoder devi produrre da un ingresso x1 un'uscita y1 che va gestita tramite codice. Attenzione però, non basta, essendo il protocollo MIDI un protocollo seriale questo dovrà essere gestito da un clock che si occupi di sincronizzare i dati.

 

Partire da 0 per realizzare un progetto del genere è veramente difficile. Il mio consiglio è di basarti su qualche schema esistente e apportare le modifiche per farlo funzionare con i trasduttori ad ultrasuoni. 

Link to comment
Condividi su altri siti

Sicuramente troverò qualcosa su cui basarmi per fare il progetto.. ma non ho capito alcune cose:

 

- Se io mettessi i trasduttori in ON/OFF grazie ai transistor li vedrei come pulsanti.

Leggendo la distanza che mi da il mio trasduttore (prima che il segnale arrivi al transistor), se agissi su una resistenza variabile che metto in serie o al posto del knob del volume dell'altoparlante convertirei la distanza in tensione o corrente e questa tensione/corrente in una resistenza/impedenza. Non otterrei lo stesso effetto? tutto questo senza VST perchè senza midi.

 

- Ragionando sulla variante MIDI invece.. ho pensato che non serve tutto il protocollo midi, mi basta la quarta ottava e il volume, nient'altro... non potrei restringere il tutto a questo? in oltre mi pare ci sia una funzione per impostare un clock d'uscita e quindi farla diventare un uscita seriale... se riuscissi a fare tutto, come farei a leggere il midi se non ho i driver della mia "tastiera"? dovrei usare i driver di arduino per collegare il tutto a qualche VST?

 

- Prima mi sono dimenticato di una cosa, se utilizzassi il protocollo midi riuscirei ad avere una tastiera polifonica o monofonica? da cosa dipende questo?

 

Riguardo i sensori ad ultrasuoni configurati come ON/OFF mediante transistor sono sicuro di farcela perchè ho già fatto una cosa simile quindi alla fine i sensori ad ultrasuoni sono soltanto utilizzati per fare "scena"...

 

Grazie mille della risposta :)

Link to comment
Condividi su altri siti

Sicuramente troverò qualcosa su cui basarmi per fare il progetto.. ma non ho capito alcune cose:

 

- Se io mettessi i trasduttori in ON/OFF grazie ai transistor li vedrei come pulsanti.

Leggendo la distanza che mi da il mio trasduttore (prima che il segnale arrivi al transistor), se agissi su una resistenza variabile che metto in serie o al posto del knob del volume dell'altoparlante convertirei la distanza in tensione o corrente e questa tensione/corrente in una resistenza/impedenza. Non otterrei lo stesso effetto? tutto questo senza VST perchè senza midi.

 

- Ragionando sulla variante MIDI invece.. ho pensato che non serve tutto il protocollo midi, mi basta la quarta ottava e il volume, nient'altro... non potrei restringere il tutto a questo? in oltre mi pare ci sia una funzione per impostare un clock d'uscita e quindi farla diventare un uscita seriale... se riuscissi a fare tutto, come farei a leggere il midi se non ho i driver della mia "tastiera"? dovrei usare i driver di arduino per collegare il tutto a qualche VST?

 

- Prima mi sono dimenticato di una cosa, se utilizzassi il protocollo midi riuscirei ad avere una tastiera polifonica o monofonica? da cosa dipende questo?

 

Riguardo i sensori ad ultrasuoni configurati come ON/OFF mediante transistor sono sicuro di farcela perchè ho già fatto una cosa simile quindi alla fine i sensori ad ultrasuoni sono soltanto utilizzati per fare "scena"...

 

Grazie mille della risposta :)

Quando si cerca di ingegnerizzare qualcosa, si applica sempre quella che in gergo viene chiamata ricerca operativa. Ovvero si cerca di eliminare ridondanze sia a livello hardware che software così da abbattere costi e complessità dei sistemi, ricercando il miglior compromesso tra funzionalità e costo di realizzazione.

Se non è tua intenzione implementare il discorso legato alle velocity allora l'utilizzo di un sistema ad ultrasuoni è perfettamente inutile, costoso e dispendioso in termini di complessità del progetto. Se fossi io a dover valutare il tuo progetto la prima domanda che ti farei riguarderebbe proprio il perché utilizzare un sistema ad ultrasuoni invece di semplici microswitch. Quando utilizziamo dei costrutti, che siano questi hardware o software, questi devono sempre essere legati ad una precisa scelta. Pertanto fossi un tuo professore, ti contesterei immediatamente questa cosa.

 

Riguardo il protocollo MIDI, poi, scegliere di trattare solamente un'ottava è completamente indifferente dal trattarne 5 6 8 o 10. Un protocollo è un sistema di istruzioni che prescinde da quante siano le sue uscite quindi scrivere un protocollo per un'ottava non cambierebbe la logica rispetto a scrivere lo stesso protocollo per 8 ottave.

 

Riguardo il discorso che fai sui transistor di cui ti servi al posto degli interruttori, è corretto, ma solo se intendi pilotare un oscillatore analogico. Se quello che vuoi fare è una superficie di controllo che piloti un lettore di campioni, non c'è altro modo di farlo se non utilizzando il protocollo MIDI. La problematica principale dunque, è che lavorando in analogico, devi effettuare un cambio di dominio dovendo pilotare strumenti digitali per fare questo devi inserire all'interno del circuito qualcosa che discrimini,secondo certi parametri, il segnale analogico in segnale digitale in seconda istanza dovrai prendere questi dati digitali e creare un protocollo che si occupi di trasmettereI dati prodotti dalla tua interfaccia al player MIDI.

 

Siccome in questo contesto, per il progetto che hai scelto, di elettronica c'è ben poco, in quanto ammenoché tu non voglia pilotare oscillatori controllati in tensione se vuoi creare una superficie di controllo, il lavoro è al 90% informatico, posso darti un'idea.

Non so se sai cosa sia il teremin. È uno strumento controllato tramite i movimenti della mano in un campo magnetico. Potresti proporre una variante del teremin a ultrasuoni. Non è difficile trovare su Internet schemi elettrici del teremin E credo che costruire una sua variante ad ultrasuoni sia più interessante da un punto di vista creativo, in quanto, da quello che ne so non ne esistono e quindi proporresti qualcosa di nuovo. Dall'altro lato mi sembrerebbe un progetto assai più fatiscente da presentare all'esame di maturità.

Link to comment
Condividi su altri siti

  • 2 weeks later...

Rispondo ora poichè mi trovavo a Parigi in tour, ora che ho finito i concerti posso ritornare alla quotidianità.. (scherzo, al momento non ho ancora concerti fissati a Parigi :D)

 

Comunque, ho deciso di sostituire i sensori ad ultrasuoni con laser e fotoresistenze o fotodiodi, così da rendere più semplice e precisa la misura.

Gli ultrasuoni erano molto aleatori e così si riduce il problema.

Rimane la parte del protocollo MIDI da implementare in Arduino, ho parlato con il mio professore e mi ha detto che la cosa è possibile e che lui l'ha già fatto quindi dovrei riuscirci.. Quando sarà fatto caricherò una mini guida HowTo per coloro a cui interessa questa cosa :)

Link to comment
Condividi su altri siti

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Rispondi a questa discussione...

×   Incollato come rich text.   Incolla come testo normale invece

  È permesso solo un massimo di 75 emoticon.

×   Il tuo link è stato incorporato automaticamente.   Visualizza come collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Cancella editor

×   Non è possibile incollare direttamente le immagini. Carica o inserisci immagini dall'URL.

Loading...
 Share

×
×
  • Crea nuovo...