Ciao, sto progettando un circuito che faccia muovere due servomotori a tempo di musica.
Teoricamente pensavo di fare cosí:
1 microfono o sensore audio
il segnale audio del microfono va su 2 linee separate che controllano 2 servomotori
applico su una delle due linee un filtro passa basse e sull’altra un filtro passa alte
aggiungerei uno, o piú, led RGB ( non una striscia, solo qualche led) per dare qualche effetto luce + dei potenziometri per controllare il colore degli rgb e l’intensitá della luce
In questo modo un servomotore dovrebbe essere controllato dal livello audio delle frequenze basse e un altro dal livello audio delle frequenze alte. Creando una sorta di danza a tempo di musica. I servomotore non dovranno spostare niente di pesante, probabilmente solo smuovere dei fili di fibra ottica che trasmettono la luce dei led.
Ora le domande:
pensate sia fattibile?
cosa consigliate per l’alimentazione, considerando che vorrei alimentare tutto (incluso arduino nano) da un unico alimentatore?
5V o devo salire a 12V? E se vado su 12V, posso inserire resistenze per abbassare il voltaggio prima di far circolare la corrente su arduino nano in modo sicuro (lasciando una linea separata dei 12V che alimenta eventualmente i servomotori)?
ci sono moduli pronti per i filtri passa basso/alto o devo capire come crearli sul circuito? In caso avreste consigli su questo?
Nessuno ha risposto, scrivo i progressi che sto facendo che magari possono servire a qualcuno.
credo che il tutto sia abbastanza fattibile e anche discretamente semplice. Non per uno inesperto come me ma dovrei farcela
per l’alimentazione, 5V dovrebbero andare benissimo, considerati i componenti che verranno utilizzati
non ho trovato elementi pronti per i filtri passa basse/alte e neanche sensori/microfoni/componenti arduino che permettano di leggere le frequenze audio (in modo da filtrare via software).
Da quello che ho capito, per realizzare semplici filtri passivi basta combinare una resistenza ed un condensatore.
Il rapporto tra i valori in ohm e farad di questi componenti detterá la frequenza di taglio dei filtri. Ci sono dei calcolatori online che facilitano questa operazione.
Sperimenteró per capire il livello di precisione di questi filtri e se si possano realizzare con tutti i tipi di condensatori (io ne userei di elettrolitici).
Quello che descrivi è un filtro RC di primo ordine. Calcolare la frequenza di taglio è semplice, ma non aspettarti che le frequenze indesiderate spariscano per magia.
Ogni tipo di filtro audio è caratterizzato da una pendenza e per quanto riguarda i filtri di primo ordine è di 6dB per ottava. Non mi dilungo oltre perché non credo avrebbe molto senso in questo contesto.
Trasponendo tutto nel dominio digitale, avresti la possibilità di applicare filtri "digitali" molto più selettivi, però dal punto di vista software la faccenda si complica un bel po' ed inoltre stai usando un microcontrollore che ha scarse capacità di calcolo matematico.
Ciao, grazie per la risposta.
Si, immagino che 6db/oct non faccia sparire le frequenze filtrate, peró penso che le attenui in modo da poterle poi filtrare via software agendo sui livelli (invece che sulle frequenze) cioé azionando i servo solo con segnali da un certo livello in su (escludendo quindi le frequenze attenuate).
Dici che cosí puó funzionare?
Altrimenti, per portare tutto nel regno digitale, servirebbe un sensore specifico, giusto?
Potresti indicarmi eventualmente un link o un nome da cercare?
Devi provare e vedere se il comportamento ti soddisfa oppure no. Questa è senza dubbio la strada più facile per un principiante.
La materia è complessa e richiede conoscenze di base non banali. Questo è un video Youtube che mi sembra fatto abbastanza bene perché spiega in modo semplice, ma senza tralasciare cose importanti (in inglese).
Per quanto riguarda l'acquisizione dell'audio, puoi campionare in modo "classico" un microfono analogico oppure usare dei microfoni digitali detti MEMS .
Uno tra i più facili da trovare online è il INMP441 (occhio che la parte da esporre al suono è quella sotto dove si vede la serigrafia del microfono), ma come ti ho già detto il nano basato su ATMega328p che stai usando è inadeguato perché non ha l'interfaccia I2S oltre ad essere poco potente.
Se vuoi rimanere con footprint Nano, in casa Arduino c'è il Nano 33 BLE Sense che già include a bordo un microfono omnidirezionale MEMS.