Sommario:
Video: Arduino Soundlab: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
È incredibile quale sia la vasta gamma di suoni straordinari che può essere generata con la tecnica di sintesi FM, anche utilizzando un semplice Arduino. In una precedente istruzione questo è stato illustrato con un sintetizzatore che aveva 12 suoni pre-programmati, ma un visualizzatore ha suggerito che sarebbe stato molto più interessante avere il pieno controllo dei parametri del suono con i potenziometri, e così è!
In questo laboratorio sonoro, i toni possono essere controllati da 8 parametri: 4 per l'inviluppo ADSR del volume e 4 per la modulazione di frequenza che determina la trama.
L'aggiunta degli 8 potenziometri non è andata a scapito del numero di tasti: tre serie di 8 tasti vengono letti pochi microsecondi uno dopo l'altro, per un totale di 24 tasti, corrispondenti a due intere ottave. In effetti, due pin Arduino sono inutilizzati e sarebbe possibile espandere a 40 tasti.
Guarda il video su come creare suoni selvaggi, ecco una breve panoramica:
* A=attacco: tempo impiegato da un tono per raggiungere il suo volume massimo (range 8ms-2s)
* D=decay: tempo impiegato da un tono per scendere al suo livello di volume costante (range 8ms-2s)
* S=sustain: livello costante di volume (range 0-100%)
* R=rilascio: tempo per l'estinzione di un tono (intervallo 8ms-2s)
* f_m: rapporto tra la frequenza di modulazione e la frequenza portante (range 0,06-16) valori inferiori a 1 danno luogo a sottotoni, valori maggiori a sovratoni
* beta1: ampiezza della modulazione FM all'inizio della nota (range 0,06-16) valori piccoli determinano variazioni minori della trama del suono. valori grandi producono suoni pazzi
* beta2: ampiezza della modulazione FM alla fine della nota (range 0,06-16) Assegna a beta2 un valore diverso da beta1 per far evolvere la trama del suono nel tempo.
* tau: velocità con cui l'ampiezza FM evolve da beta1 a beta 2 (range 8ms-2s) Valori piccoli danno un botto corto all'inizio di una nota, valori grandi un'evoluzione lunga e lenta.
Passaggio 1: costruzione
Chiaramente, questo è ancora un prototipo, spero che un giorno io o qualcun altro costruiremo questo grande, forte e bello con tasti grandi e veri quadranti per i potenziometri in una custodia fantastica…
Componenti necessari:
1 Arduino Nano (non funzionerà con Uno, che ha solo 6 ingressi analogici)
24 pulsanti
8 potenziometri, nella gamma 1kOhm - 100kOhm
1 potenziometro da 10kOhm per il controllo del volume
1 condensatore - 10microfarad elettrolitico
1 jack per cuffie da 3,5 mm
1 chip amplificatore audio LM386
2 condensatori elettrolitici da 1000 microfarad
1 condensatore ceramico da 1 microfarad
1 microinterruttore
1 altoparlante da 8 Ohm 2 Watt
1 scheda prototipo 10x15 cm
Assicurati di aver compreso gli schemi allegati. I 24 pulsanti si collegano in 3 gruppi di 8, da leggere su D0-D7, e da attivare su D8, D10 e D11. I potenziometri hanno +5V e massa sulle prese terminali e le prese centrali sono alimentate agli ingressi analogici A0-A7. D9 ha l'uscita audio e viene accoppiato in CA a un potenziometro da 10kOhm per il controllo del volume. Il suono può essere ascoltato direttamente con gli auricolari o amplificato con un chip amplificatore audio LM386.
Si adatta tutto a una scheda prototipo da 10x15 cm, ma i pulsanti sono troppo vicini per funzionare bene, quindi sarebbe meglio costruire una tastiera più grande.
Il circuito può essere alimentato tramite la connessione USB dell'Arduino Nano, oppure con un alimentatore esterno da 5V. Una scatola di batterie 2xAA seguita da un convertitore step-up è una soluzione di alimentazione perfetta.
Passaggio 2: software
Carica lo schizzo allegato su Arduino Nano e tutto dovrebbe funzionare.
Il codice è semplice e facilmente modificabile, non c'è codice macchina e non ci sono interruzioni, ma ci sono un paio di interazioni dirette con i registri, per interagire con il timer, per velocizzare la lettura dei pulsanti e per controllare il comportamento dell'ADC per la lettura del potenziometro
Passaggio 3: miglioramenti futuri
Le idee della community sono sempre ben accette!
Sono più infastidito dai pulsanti: sono minuscoli e fanno clic con forza quando vengono premuti. Sarebbe davvero bello avere pulsanti più grandi che siano più comodi da premere. Inoltre, i pulsanti sensibili alla forza o alla velocità consentirebbero di controllare il volume delle note. Forse i pulsanti a 3 vie oi pulsanti sensibili al tocco potrebbero funzionare?
Altre cose carine sarebbero memorizzare le impostazioni audio in EEPROM, memorizzare brevi brani in EEPROM consentirebbe anche di creare musica molto più interessante. Infine, potrebbero essere generati suoni più complessi, se qualcuno sa come generare suoni di percussioni in modo efficiente dal punto di vista computazionale, sarebbe fantastico…
Consigliato:
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: 3 passaggi
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: La maggior parte delle volte che ho affrontato, non ho una buona potenza del segnale per i miei lavori quotidiani. Così. Cerco e provo diversi tipi di antenna ma non funziona. Dopo aver perso tempo ho trovato un'antenna che spero di realizzare e testare, perché è principio costruttivo non
Mangiatoia per pesci Arduino Uno in 6 passaggi economici e facili!: 6 passaggi
Arduino Uno Fish Feeder in 6 passaggi economici e facili!: Quindi potrebbe essere necessario un po' di retroscena per questo progetto. Le persone con i pesci da compagnia hanno probabilmente avuto il mio stesso problema: vacanze e dimenticanze. Dimenticavo costantemente di dare da mangiare ai miei pesci e mi affrettavo sempre a farlo prima che andasse a s
Levitazione acustica con Arduino Uno passo dopo passo (8 passaggi): 8 passaggi
Levitazione acustica con Arduino Uno Step-by Step (8 passaggi): trasduttori di suoni ad ultrasuoni L298N Alimentatore adattatore CC femmina con pin CC maschio Arduino UNOBreadboardCome funziona: Innanzitutto, carichi il codice su Arduino Uno (è un microcontrollore dotato di e porte analogiche per convertire codice (C++)
Sistema di allarme antincendio con Arduino [in pochi semplici passaggi]: 3 passaggi
Sistema di allarme antincendio con Arduino [in pochi semplici passaggi]: stai cercando di realizzare un progetto semplice e interessante con Arduino che allo stesso tempo possa essere davvero utile e potenzialmente salvavita? Se sì, sei arrivato nel posto giusto per imparare qualcosa di nuovo e innovativo. In questo post andiamo
Arduino più economico -- Arduino più piccolo -- Arduino Pro Mini -- Programmazione -- Arduino Neno: 6 passaggi (con immagini)
Arduino più economico || Arduino più piccolo || Arduino Pro Mini || Programmazione || Arduino Neno:……………………………. ISCRIVITI al mio canale YouTube per altri video……. .Questo progetto riguarda come interfacciare un arduino più piccolo ed economico di sempre. L'arduino più piccolo ed economico è arduino pro mini. È simile ad arduino