Arduino Audio Input (1 / 8 steg)
Steg 1: Förbereda ljudsignaler för Arduino
När vi tittar på en audio signal med ett oscilloskop, ser vi en liknande bild (Fig. 3). Märke hur ljudsignalen i fig 3 svänger runt en center spänning på 0V; Detta är typiskt för ljudsignaler. Amplituden på en audio signal är avståndet mellan dess center spänning och hög eller låg topp. Amplituden på vågen i fig 3 är 2V: den når en maximal spänning på + 2V och en minsta spänning på - 2V. Detta är ett problem om vi vill mäta ljudsignalen med en av den Arduino analoga ingångar eftersom Arduino kan endast mäta spänningar mellan 0 och 5V. Om vi försökte mäta negativa spänningar i signalen från fig 3, Arduino skulle läsa enda 0V och vi skulle hamna klippning botten av signalen. I detta Instructable ska jag visa dig hur du kan förstärka och kompensera ljudsignaler så att de faller inom intervallet 0-5V. Helst du vill ha en signal med en amplitud på 2.5V som svänger runt 2.5V (som i fig 7) så att dess min spänning är 0V och dess max spänning 5V (se beräkningarna nedan).
Min spänning = Center spänning - amplitud Max spänning = Center spänning + amplitud
Min spänning = 2.5V - 2.5V = 0V
Max spänning = 2.5V + 2.5V = 5V
Fig 4 visar signalen direkt från mikrofonen på ett oscilloskop. Signalen är relativt svag, med en amplitud på endast 200 kan du hitta att signaler från andra källor (ipods, gitarrer, skivspelare...) också producerar ljudsignaler med små amplituder. Dessa signaler behöver förstärkas till få dem upp till amplituden vi vill (2.5V). Förstärkning innebär ökar amplituden (avståndet mellan mittpunkten och max eller min) av en signal. Förstärkning också buffertar ljudkälla (i mitt fall var det en mikrofon) från alla laster som du får på det senare i krets, vilket är bra eftersom det förhindrar distorsion.
Fig. 5 visar samma mikrofonsignalen efter förstärkning, kan du se hur höjden på topparna har ökat så att vågen har en amplitud av 2.5V. Men eftersom center spänningen av vågen är fortfarande 0, vågen pendlande mellan-2.5 och + 2.5V. Det måste vara DC offset att korrigera detta. DC offset innebär ändra center spänningen som vågen pendlar runt (den genomsnittliga spänningen av vinkar). Bild 6 visar signalen efter man DC offset; har fortfarande en amplitud på 2.5V, men center spänningen är 2.5V i stället för 0V, så vågen aldrig sjunker under 0V. (Obs-liten förändringen i form mellan signalerna i figur 5 och 6 är avgifter till förändringar i min röst mellan två bilder, det har ingenting att göra med banan). Signalen i fig 6 är redo att gå till en analog ingångsstift Arduino.