RGB LED Pixel Touch reaktiva Gaming tabell (13 / 18 steg)

Steg 13: Programvara - strömmande ljud

Strömmande ljud är en uppgift i sig själv. Jag vill kunna spela musik och ljudeffekter att gå med på spelen så att göra detta krävs en programvara rutin att tillåta mig att öppna en fil på SD-kortet och sedan ut filen ett prov i taget på min DSP ljudutgång ombord.

Vi kan göra ljudet utan DSP styrelsen genom att bara använda en PWM kanal på mikrokontroller på en hög frekvens för att mata signalen. Jag använde ursprungligen PWM som produktion men då jag fick tag i EB086 DSP Audio Output styrelsen och än kvalitet när du använder ombord DAC och ljudkvaliteten är betydligt bättre än PWM ensam. DSP styrelsen också ger mig en variabel filter, högtalare och justerbar förstärkare så jag behöver inte bry sig med dessa objekt.

Det första jag gjorde var att skapa min musik. Jag gick och hittade musik som gick med spelet i fråga och skapade ett medley av alla spår använda den fria programvaran Audacity. Jag sparade filen på SD-kortet som en 16KHz 16-bitars WAV-fil.

Det är då bara ett fall av öppna filen i programvara och läsa in filen i en buffert. Produktionen drivs sedan med hjälp av en timer avbryta dra prover ut bufferten och skicka dem till DAC eller PWM på en vanlig 16KHz fästing. Eftersom den är ganska liten (20KB i min firmware) vi måste vara säkra på att åter fylla bufferten varje så ofta för att hålla audio streaming. När vi når slutet av ljudfilen finns det en kort paus och är den re-öppnat att börja direktuppspelning igen från början.

För att styra volymen på ljudet jag skär potentiometer volym kontroll av EB086 styrelsen och sedan fast i en ny potentiometer med ledningar tillräckligt länge för att når kanten av fallet. Potten monteras sedan fallet så det lätt kan justeras.

Här finns de funktioner som används för ljudbearbetning.

WAVStartStream - används för att ange namnet på den WAV-fil på kortet till ström och börjar strömma bearbeta genom att fylla bufferten och starta timern kör.

WAVFillBuffer - kallas regelbundet för att upprätthålla en stadig tillförsel av byte i sund bufferten. Bufferten kan ta ca 0.4 sekunder prover @ 16K samplingar per sekund.

WAVStreamInterrupt - kallas automatiskt vid 16 KHz av timern perifera på mikrokontroller enheten.

WAVStopStream - slutar ljudströmmen och rensar ljudbufferten.

Se Steg
Relaterade Ämnen

RGB LED färgblandning touch leksak för barn

jag vill skapa en interaktiv leksak för mina barn att spela med mig. Vi håller händerna tillsammans sedan RGB-LED visar olika färger. Håller hårdare eller ljusare eller touch olika delar av varandras organ kommer att visa olika färger. dvs kommer att...

64 pixel RGB LED-skärm - en Arduino klon

denna display är baserad på en 8 x 8 RGB LED-matris. För att testa var den ansluten till en standard Arduino ombord (Diecimila) med 4 SKIFT register. Efter att få det att fungera permatized jag det på en fabbed PCB. De SKIFT register är 8-bitars wide...

Sund reaktiv RGB LED pianot lyser!

Hej alla! Det är jul, och nyligen jag har spelat runt med lysdioder och min Arduino mycket. Jag fick denna awesome idé av belysning upp min upprätt piano medan mixtra med vissa RGB LED strips. RGB-lysdioder avger ljus som blir reflekteras från väggen...

PixelLux-A 64 Pixel RGB LED Video skärm

Redigera:Wow, jag trodde inte att detta projekt så skulle granskas på instructables! tack för att ta en titt:). Jag har en crappy video som jag kommer att lägga upp, men tyvärr jag var en idiot och utbränd min teensy... så jag kommer lägga upp en vid...

Warmachine Gaming tabell för Penny Arcade

vår bakgrund:Vi är tre killar i Boston intresserade av alla typer av spel, och i detta fall baserad Figurspel.Vi fascineras av teknik och en fråga i våra sinnen var "Hur kan vi förnya wargaming terräng och bord design till att göra en mer uppslukande...

48 kanaler Mono / 16 kanal RGB LED-Controller

48 kanaler Mono/16 kanal RGB LED Controller av Chromation system kan användas självständigt kontroll 48 grupper/kanaler (upp till 120ma per grupp av mono-färg lysdioder) eller 16 grupper/kanaler för gemensam anod RGB-lysdioder. Man använder 3 x TLC59...

Accent belysning/dekorera RGB LED Ljuslister

Om du inte har hoppade på tåget RGB din miste om vad som kan vara nästa våg av belysning för alla dina behov. Den är mångsidig, böjer sig runt allt och har möjligheten för tusentals olika färger. Dekorera ditt hus med dessa remsor av LED RGB (röd grö...

32 x 32 RGB LED Plasma w / STM32F4.

Det finns redan några tutorials ute visar hur man styr en 32 x 32 RGB LED-skärm.Detta projekt har några små variationer med följande funktioner:Baserat på en STM32F401RE eval styrelseProgramvara BSP genereras av STM32CubeMX (v1.4.0 används här, nyare...

Fiber Optic RGB LED Top Hat

Detta är en remix av Instructable "min hatt, den är full av stjärnor!" av ChrisKnight.Finna den på:Sedan jag först såg detta har det varit något jag har velat ha. Slutligen är dags.Med en Pixel Controller Ion, 14 x 5 mm RGB lysdioder med WS2801...

Hur man styr en RGB LED Strip - Arduino handledning

I denna tutorial använder vi en remsa med 8 RGB lysdioder med Arduino uno styrelsen. Vi kommer använda den Adafruit NeoPixel bibliotek för att ändra färg på varje ledde.Låt oss komma igång!Steg 1: Vad du behöverFör detta projekt behöver du:Arduino un...

RGB LED älskar hjärtat

detta projekt skapar en RGB LED lyser kärlek hjärta som kontrolleras av en PIC12F683 mikrokontroller. Jag designade projektet som en gåva till min fru på vår 15: e bröllopsdag (eftersom hon sätter upp med min beroende av elektronik jag tyckte hon för...

4 x 4 x 4 RGB LED Cube

för ett tag sedan när jag först började använda Arduino, mitt första projekt var ett 4 x 4 x 4 LED cube, byggde jag den från en Guide jag hittade här i Instructables, jag visste inte något om programmering och lite om elektronik, men jag kunde bygga...

Charliecube--Charlieplexed 4 x 4 x 4 RGB LED cube

Detta är en Charlieplexed 64 RGB LED 3D-kub.CharlieCube har totalt 192 LEDs och styrs av 16 arduino pins wired genom 16 spiror av 4 lysdioder och 4 anslutningar. De 64 anslutningar som 16 spiror av 4 leder är fast på ett sådant sätt att de endast beh...

Arduino-kontrollerad RGB LED Infinity Mirror

Uppdatering 11/22/2013: Tack till alla som röstade för det här projektet i Microcontroller Contest! Det var en av tre förstapristagare.Update 9/17/2013: Tack till alla som röstade för det här projektet i Arduino contest (jag var en av tio "andra pris...

Kontrollerbar RGB LED-system för ditt hem eller kontor

Är belysningen i ditt hem eller utrymme tråkiga? Vill du lägga lite energi eller stämningsskapande belysning till ditt rum? Detta Instructable visar hur du skapar en kontrollerbar RGB LED-matris för användning i ditt hem eller kontor. Din röda, gröna...

RGB LED färg väljare

en utmaning med att arbeta med RGB-lysdioder är att få rätt röd, grön och blå värden ska matcha en färg som du försöker Visa. Du kan börja med webbfärger och sedan ibland behöva justera dem eftersom lysdioderna inte ser ganska likadana ut som de gör...

Kontroll en RGB LED med din iDevice!

i den här självstudiekursen får du lära dig att styra och RGB ledde med din iDevice (Ipod, Iphone, Ipad) använder "TouchOSC" och behandling tillsammans med oscp5 biblioteket.Du behöver:-En RGB LED, gemensam katod (negativ)-En Arduino eller Ardui...

DMX-512 RGB LED tvätta Light Control Board

En full skisserat förare ombord att styra röd, grön & blå lysdioder. När ihopkopplade med rätt output board, kan det styra varje arrangemang av lysdioder. Gemensam katod, gemensam anod, enfärgad lysdioder. Från 1/8 watts LED-lampor på 3 watt LED arra...

Avmystifiera 4 pin adresserbara RGB LEDS

Om du har sett min tidigare Instructable RGB lysdioder, så har du en ganska bra grund på förmågan att sätta tre skilda ljuskällor i ett enda paket i din bygger.Tiden marscherar på, och det gör teknik! En av de mest innovativa nya sakerna om RGB lysdi...