Progetto Arduino/Led/Microfono

Salve! Sto lavorando alla mia tesi con lo scopo di realizzare un prototipo che attraverso un microfono (al momento ho optato per un Electronic Brick - Sound Sensor/Microphone Brick) rilevi l'audio, ovvero la musica che risuona nell'ambiente circostante e come output accenda, a seconda dell'intensità del segnale acquisito, una serie di led collegati ai diversi pin.

Non ho ancora effettuato un test, ma inizialmente userò un Arduino Uno per poi cercare una scheda più piccola.

Elenco di seguito i miei dubbi:

1) Il microfono scelto fornisce in output un segnale analogico. Corretto?

2) Non ho ancora testato, ma sono quasi certa che il brusio e altri rumori possano compromettere l'accensione dei led. Dunque, considerato il microfono che andrò ad utilizzare, come posso realizzare un filtro passa basso?

3) Ho trovato uno script qui su Arduino, che prende in input un analog signal e lo filtra, ma non so quali valori fissare per eliminare le alte frequenze? Devo necessariamente campionare il segnale per capirlo? (in quanto non so farlo)

     // filters out changes faster that 5 Hz.


        float filterFrequency = 5.0;


        


        // create a one pole (RC) lowpass filter


        FilterOnePole lowpassFilter( LOWPASS, filterFrequency );   


        


        while( true ) {


          lowpassFilter.input( analogRead( analogInPin) );


          // do something else


        }

Spero qualcuno possa aiutarmi :(

Essendo il tuo primo post Ti invitiamo a presentarti QUI (dicci quali conoscenze hai di elettronica e di programmazione) e a leggere il regolamento QUI se non lo hai già fatto.

Comunque benvenuta sul forum.

Attilio

Grazie! Ok :) Mi presenterò come consigli, ma per il mio post ho scelto l'area giusta?

Secondo me si. Al limite qualche moderatore te lo sposta ma non è un problema. ;)

Per i tuoi quesiti purtroppo non so aiutarti, non ho esperienza con quei modulini, aspettiamo che passi qualche utente che ne sà più di me. :grin:

Attilio

L'area e' giusta, il problema e' che Arduino non credo possieda abbastanza capacita' di calcolo per elaborare un segnale audio ...

Solo come idea, ma se lo scopo e' solo quello di accendere determinati led in base alla frequenza (o meglio, all'intensita' in determinate bande di frequenza), perche' non usare un semplice circuito per luci psico ?

Oppure e' un progeto a scopo didattico su Arduino ?

In realtà devo trovare la soluzione ottimale. Diciamo che ho cominciato ad usare Arduino per gestire una comunicazione bluetooth tra lo stesso e il computer. Essendo alle prime armi ho pensato di sfruttare gli strumenti acquisiti finora per quel che devo fare, non avendo idee alternative. Inoltre nel primo post non ho specificato che voglio aggiungere un pushbutton per controllare il dispositivo.

Quindi dici che i disturbi possano facilmente compromettere l'accensione dei led? Potresti rispondere anche agli altri miei quesiti?

Perdonatemi se aggiungo di volta in volta :)

Diciamo che oltre a fare accendere i led una volta captata la musica, voglio poterne controllarne la modalità, nel senso che l'illuminazione avvenga più o meno in simbiosi con il ritmo della musica. Per fare questo devo testare continuamente il segnale audio riscontrato.

A questo punto potrebbe essere sufficiente un semplice circuito per luci psico?

Per fare solo quello, si (non so a cosa vuoi dedicare il pushbutton) ... comunque, non essendo un programmatore, su quella parte purtroppo non ti so aiutare ...

Per il resto, si, il microfono fornisce un segnale analogico (piuttosto basso, andrebbe preamplificato, ma si puo fare con un'operazionale), e si, il brusio o altri rumori e vibrazioni potrebbero influire, essendo in fondo anche quelli suono (si possono eliminare alcune bande, se non servono, come ad esempio le frequenze molto alte in modo da ridurre anche il fruscio, ma per colpi, voci o altro simile non si puo fare nulla a livello di filtri, servirebbe un DSP audio programmato per riconoscere e filtrare via determinati schemi e combinazioni di frequenze, ed una MCU ad 8 bit non ce la puo proprio fare (non so neppure se possa farcela una a 32 bit, tutti i DSP che ho visto fin'ora usavano integrati custom progettati per fare appositamente quello)

Circuiti per luci psico senza MCU ce ne sono una marea, a 3 canali, a 5 canali, anche con piu canali volendo ... oppure c'e' un'integrato che ha al suo interno una serie di filtri audio a 7 bande, e che puo fornire in uscita a rotazione il livello medio del segnale per ogni singola banda, usando quello per analizzare e scomporre il suono, poi Arduino potrebbe leggere in sequenza i valori e pilotare delle uscite ... se n'e' gia parlato alcune volte anche qui, ora non ricordo esattamente in quale post, ma l'ultimo non era molto tempo fa ...