Arduino Audio Input (6 / 8 stap)

Stap 6: Sampling rate van ~ 40kHz


In de onderstaande code omzeild ik de functie analogRead() teneinde mijn sampling-frequentie. De code die nodig is om dit te doen is vrij geavanceerd, misschien kan het het onderwerp van een ander instructable als er belang (laat een reactie is als je geïnteresseerd bent), maar voor nu is het alleen belangrijk dat u begrijpt hoe het gebruik van deze code in de loop-functie, niet hoe ik het opzette.

Hier is eenvoudige uitleg (alles wat je moet weten voor nu):
In principe in de Setup-functie heb ik verteld de Arduino dat ik wil continu meten pin A0 en vergeet over de andere analoge ingangen allemaal samen.  Dus terwijl andere dingen in de loop-functie gaande zijn, de Arduino is constant het bijwerken van een variabele met de naam "ADCH" met nieuwe waarden van A0 met een snelheid van 38.5kHz (dat is een voorbeeld van elke 26us, u kunt zien in Fig. 2).  Wanneer ik wil graag een van deze waarden die ik kan gewoon een variabele ingesteld op ADCH, of zoals ik schreef in mijn code:

incomingAudio = ADCH;

Ik heb om de resolutie van deze analoge metingen een klein beetje te krijgen een hogere samplefrequentie te verlagen.  In de laatste stap gebruikten we analogRead() voor het meten van de spanning van het signaal als een waarde tussen 0 en 1023, nu deze waarden altijd tussen 0 en 255 zullen.  Continue monitoring van A0 betekent ook dat de andere analoge pinnen nu nutteloos zijn, maar als je echt nodig om te meten een potentiometer (potmeter) of de sensor, Bekijk hoe kan je het met een digitale pen met RCTime It is mogelijk dat de analoge pinnen kunnen nog steeds worden gebruikt als digitale I/O pinnen, maar ik heb niet echt dit getest nog, laat een reactie als je het probeert!

De ingewikkelde uitleg (niet noodzakelijk, maar voor degenen die geïnteresseerd zijn):
Ik handmatig instellen van de Arduino interne analoog naar digitaal converter (ADC) strijd met 500kHz en een 8-bit waarde rechtstreeks inlezen van analoge ingang 0 van de ADCH (ik lees net de 8 meest significante bits van de 10 bit ADC om tijd te besparen in de code).  Ik plaatste de ADC-teller aan 500kHz, omdat de ADC duurt 13 klokcycli om een nieuwe analoge waarde te lezen.  500/13 = ~ 38.5kHz die mij vrij dichtbij 40 kHz (standaard audio samplefrequentie krijgt) zonder invoering van extra geluid.  Zoals u kunt zien in Fig. 2, dit geeft mij een voorbeeld van elk 13/500000 = 26us.  Veel van de ideeën die hier (prescalers en tellers) zijn vergelijkbaar met de setup voor Arduino timer interrupts, en u kunt meer lezen over hoe dat hier werkt.

 //Audio out with 38.5kHz sampling rate //by Amanda Ghassaei 

Zoals in de vorige stap stuurde ik de waarden van de variabele "incomingAudio" uit een 8 bit DAC, zodat ik de gegevens visualiseren kan, zoals het was in de Arduino worden opgeslagen.  U kunt zien het inkomend signaal (geel) en output van de DAC (blauw) in de bovenstaande foto's.  Zoals u ziet hoeveel beter de Arduino volgt het signaal met de vorige vergeleken stap.  In figuur 2 ziet u dat de stap-grootte neer aan 26us is (ten opzichte van 125us bij het gebruik van analogRead).  Opnieuw kunt u de effecten van knippen op de 0V en 5v in fig 3.

De code voor sampling rate van 38.5kHz met DAC output is hieronder gegeven.

 //Audio out with 38.5kHz sampling rate and DAC output //by Amanda Ghassaei 

Gerelateerde Artikelen

Aansluiten van een Sensor met Audio Input en Output

Aansluiten van een Sensor met Audio Input en Output

een sensor behoort tot een hoeksteen voor het vastleggen van de fysieke omgeving. Kan je de verandering van licht met een fotocel cd's, kunt u de ruimte te meten met een afstandssensor en u kunt uw beweging vastleggen met een versnellingsmeter.Er zij
Arduino audio switch

Arduino audio switch

Ik heb binnen mijn schuilplaats een 5.1 Bose surround systeem en een paar van Yamaha NS - 10M Studio luidsprekers. Ik nodig had om ze te rijden met slechts één eindversterker, dus ik nodig een aangepaste audio schakelen tussen luidsprekers en LFE ook
Arduino Audio-uitgang

Arduino Audio-uitgang

Genereren van geluids- of uitgang analoge spanningen met een Arduino. Dit Instructable zal u tonen hoe een echt basic digitaal naar analoog converter instellen zodat u kunt beginnen met het genereren van analoge golven in alle soorten en maten van ee
Aansluiten een Fader met Audio Input en Output

Aansluiten een Fader met Audio Input en Output

een fader behoort tot een basiscomponent voor mengpaneel. U kunt dynamisch uw bron met de beweging van een fader.Er zijn al verschillende manier om drukknoppen gebruiken in uw projecten (b.v. hacken muis en toetsenbord of Arduino, gainer, MCK). Deze
Aansluiten een drukknop met Audio Input en Output

Aansluiten een drukknop met Audio Input en Output

een drukknop behoort tot een hoeksteen voor het vastleggen van uw actie. U kunt dynamisch op een knop om iets te doen.Er zijn al verschillende manier om drukknoppen gebruiken in uw projecten (b.v. hacken muis en toetsenbord of Arduino, gainer, MCK).
Arduino Audio Shield

Arduino Audio Shield

In deze video laten we de eenvoudige stappen voor montage van uw zaak Arduino audio schild. Om te kopen een van deze gevallen, gewoon terug mijn kickstarter-project op: Arduino Audio ShieldStap 1: Hoe Assemble uw zaak Arduino Audio DSP ShieldDe eerst
Arduino Audio DSP Shield

Arduino Audio DSP Shield

De Arduino Audio DSP schild heeft Ringmodulatie, echo, reverb, een oscope, oscillator, willekeurige golfvorm generator, enz. Het is een software- en hardware-systeem, een goede man, in een blikje!Stap 1: Krijgen een arduino audio schildDe schilden zi
Gemakkelijk Arduino Audio Annoyatron

Gemakkelijk Arduino Audio Annoyatron

zulks simpel eenvoudig apparaat speelt een kleine tune op een willekeurige interval, tussen 5 en 30 seconden wanneer de lichten op een kamer afgaan. Het kan slim worden vermomd in een doos van weefsels, of binnen of onder een willekeurig aantal huish
Spelen met een Arduino audio geluidsbestanden (wav)

Spelen met een Arduino audio geluidsbestanden (wav)

Afspelen van wav bestand Audio van uw Audino SD-kaart.Dit Instructable zal u tonen hoe een wav-bestand op je SdCard kan worden afgespeeld via een eenvoudige schakeling aan een spreker.Het wav-bestand moet 8 bits mono. Ik heb geen probleem 44 KHz-best
Arduino Audio geactiveerd / uit-schakelaar

Arduino Audio geactiveerd / uit-schakelaar

ooit wilde uw huisvermaak of geluidsinstallatie aan power up zelf toen inpluggen in uw iPod of andere draagbare MP3-speler?Bekijk deze video om te zien hoe het werkt. Dan flip door de stappen om erachter te komen hoe maak je met behulp van de Arduino
Het gebruik van 2 microfoons in 1 audio Input: ThoughtGrenades.com

Het gebruik van 2 microfoons in 1 audio Input: ThoughtGrenades.com

kopen: http://amzn.to/nntlRzAflevering 2 - www.thoughtgrenades.comEen snelle en handige manier om 2 mics in hechten aan 1 ingang.Editing Software gebruikt: After Effects & Sony VegasAchtergrondmuziek, samengesteld door: youtube.com/user/Mr4nderssonGe
6-kanaals AUDIO INPUT

6-kanaals AUDIO INPUT

6-kanaals AUDIO-ingang (audioin selector)U kunt het gemaakt met, TIC106D Thyristor en met een paar condensatoren en LEDselector van de audio ina eenvoudigedoor het aansluiten van dit apparaat, vele muziekinstrument, welkeCableknock hem uit... Als we
Arduino frequentie detectie

Arduino frequentie detectie

Als een vervolg op de Arduino Audio Input tutorial die ik vorige week gepost, schreef ik een schets die analyseert een signaal binnenkomt de analoge ingang van de Arduino en bepaalt de frequentie. De code maakt gebruik van een sampling rate van 38.5k
Stereo Audio met Arduino

Stereo Audio met Arduino

Onlangs heb ik zijn detachering een heleboel projecten die een 8 bit weerstand ladderdigitaal naar analoog converter (DAC) en een Arduino gebruiken om geluid te maken. (Zie het vocale effecten Arduino, de Arduino drum sampler en mijn audio-uitgang-tu