Taula de continguts:
Vídeo: Arduino Soundlab: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
És increïble que es pugui generar una àmplia gamma de sons sorprenents amb la tècnica de síntesi de FM, fins i tot amb un Arduino senzill. En una instrucció prèvia, això es va il·lustrar amb un sintetitzador que tenia 12 sons preprogramats, però un espectador va suggerir que seria molt més fresc tenir un control complet dels paràmetres de so amb potenciòmetres, i així és.
En aquest laboratori de so, els tons es poden controlar mitjançant 8 paràmetres: 4 per a l’embolcall ADSR de la intensitat i 4 per a la modulació de freqüència que determina la textura.
L’addició dels 8 potenciòmetres no va costar el nombre de tecles: es lligen tres conjunts de 8 tecles uns quants microsegons un darrere l’altre, per un total de 24 tecles, que corresponen a dues octaves completes. De fet, dos pins Arduino no s’utilitzen i seria possible ampliar fins a 40 tecles.
Mireu el vídeo sobre com fer sons salvatges, aquí teniu una breu descripció general:
* A = atac: temps perquè un to assoleixi la seva intensitat màxima (rang 8ms-2s)
* D = decadència: temps perquè un to baixi al nivell de sonoritat constant (rang 8ms-2s)
* S = sustain: nivell de sonoritat constant (rang 0-100%)
* R = llançament: temps perquè es desaparegui un to (interval 8ms-2s)
* f_m: relació entre la freqüència de modulació i la freqüència portadora (rang 0,06-16) els valors inferiors a 1 donen lloc a subtones, valors més alts a les sobretones
* beta1: l'amplitud de la modulació FM al començament de la nota (rang 0,06-16) valors petits que resulten en petites variacions de la textura del so. els grans valors donen lloc a sons bojos
* beta2: amplitud de la modulació FM al final de la nota (rang 0,06-16) Doneu a beta2 un valor diferent del beta1 perquè la textura del so evolucioni amb el temps.
* tau: velocitat a la qual l'amplitud FM evoluciona de beta1 a beta 2 (rang 8ms-2s). Els valors petits donen una petita explosió al començament d'una nota; els valors grans, una evolució llarga i lenta.
Pas 1: construcció
Clarament, aquest segueix sent un prototip, espero que algun dia jo o algú altre construïm aquest gran i fort i bell amb tecles grans i dials reals per als potenciòmetres en un increïble recinte …
Components necessaris:
1 Arduino Nano (no funcionarà amb l’Uno, que només té 6 entrades analògiques)
24 polsadors
8 potenciòmetres, entre 1kOhm - 100kOhm
1 potenciòmetre de 10kOhm per al control de volum
1 condensador - 10 microfarad electrolític
1 connector per a auriculars de 3,5 mm
1 xip amplificador d'àudio LM386
2 condensador electrolític de 1000 microfarades
1 condensador ceràmic de 1 microfarad
1 microinterruptor
1 altaveu de 8 Ohm de 2 watts
1 tauler prototip de 10x15cm
Assegureu-vos d’entendre els esquemes adjunts. Els 24 botons es connecten en 3 grups de 8, per llegir-los a D0-D7 i activar-los a D8, D10 i D11. Les olles tenen + 5 V i es terra a les aixetes finals i les aixetes centrals s’alimenten a les entrades analògiques A0-A7. D9 té la sortida d'àudio i s'acobla a un potenciòmetre de 10kOhm per controlar el volum. El so es pot escoltar directament amb auriculars o amplificar-lo amb un xip amplificador d’àudio LM386.
Tot s’adapta a una placa de prototipus de 10x15cm, però els botons estan massa a prop per jugar bé, així que seria millor construir un teclat més gran.
El circuit es pot alimentar mitjançant la connexió USB de l’Arduino Nano o amb una font d’alimentació externa de 5 V. Una caixa de bateries 2xAA seguida d’un convertidor intensiu és una solució d’alimentació perfecta.
Pas 2: programari
Pengeu l'esbós adjunt a l'Arduino Nano i tot hauria de funcionar.
El codi és senzill i fàcil de modificar, no hi ha codi de màquina ni interrupcions, però hi ha un parell d’interaccions directes amb els registres, per interactuar amb el temporitzador, per accelerar la lectura del botó i per controlar el comportament de l’ADC. per a la lectura del potenciòmetre
Pas 3: millores futures
Les idees de la comunitat sempre són benvingudes.
Els botons em molesten molt: són minúscules i fan clic amb força quan es premen. Estaria molt bé tenir botons més grans que siguin més còmodes de prémer. A més, els botons sensibles a la força o la velocitat permetrien controlar la sonoritat de les notes. Potser els botons de 3 direccions o els botons sensibles al tacte podrien funcionar?
Altres coses interessants serien emmagatzemar configuracions de so a EEPROM; emmagatzemar melodies curtes a EEPROM també permetria fer música molt més interessant. Finalment, es podrien generar sons més complexos, si algú sap generar sons de percussió d’una manera computacionalment eficient, seria fantàstic …
Recomanat:
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): 6 passos
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): voleu espantar els vostres amics i fer soroll a Halloween? O simplement voleu fer una bona broma? Aquesta pantalla emergent de Zombies ho pot fer! En aquest instructiu us ensenyaré a fer zombis fàcilment amb Arduino. L'HC-SR0
Alimentador de peix Arduino Uno en 6 passos fàcils i econòmics: 6 passos
Alimentador de peixos Arduino Uno en 6 passos econòmics i senzills! Les persones amb peixos mascotes probablement tenien el mateix problema que jo: les vacances i l’oblit. Oblidava constantment d’alimentar els meus peixos i sempre em vaig esforçar per fer-ho abans que passés a s
Levitació acústica amb Arduino Uno pas a pas (8 passos): 8 passos
Levitació acústica amb Arduino Uno Step-by-Step (8 passos): transductors de so ultrasònics L298N Dc adaptador femella d'alimentació d'alimentació amb pin DC macho Arduino UNOBreadboard Com funciona: primer, pengeu codi a Arduino Uno (és un microcontrolador equipat amb i ports analògics per convertir codi (C ++)
Robot Mecanum Omni Wheels amb escut Arduino per motors passos GRBL: 4 passos
Robot Mecanum Omni Wheels amb motors passos GRBL Arduino Shield: Mecanum Robot: un projecte que volia construir des que el vaig veure al bloc de mecatrònica de Dejan: howtomechatronics.com Dejan realment va fer un bon treball abastant tots els aspectes del maquinari i la impressió 3D , electrònica, codi i una aplicació per a Android (MIT
Sistema d'alarma contra incendis que utilitza Arduino [en pocs passos fàcils]: 3 passos
Sistema d'alarma contra incendis que utilitza Arduino [en pocs passos fàcils]: voleu fer un projecte senzill i interessant amb Arduino que al mateix temps pugui ser realment útil i potencialment salvavides? Si és així, heu vingut al lloc adequat per aprendre quelcom nou i innovador. En aquest post ja anem