RGB LED Pixel Touch reactieve speeltafel (13 / 18 stap)

Stap 13: Software - Streaming Audio

Streaming audio is een taak op zich. Ik wil zitten kundig voor muziek en geluidseffecten te gaan samen met de games, zodat hiervoor een routine van de software vereist voor verstrekken mij voor een bestand op de SD-kaart openen en vervolgens output dat bestand een steekproef tegelijk spelen op mijn bord DSP audio-uitgang.

De audio-uitvoer zonder de DSP-board kunnen we doen door simpelweg met een PWM-kanaal op de microcontroller op een hoge frequentie voor de uitvoer van het signaal. Ik gebruikte oorspronkelijk PWM als de uitvoer maar dan ik kreeg bezit van de EB086 DSP Audio Output Board en ten opzichte van de kwaliteit bij het gebruik van de ingebouwde DAC en de geluidskwaliteit is aanzienlijk beter dan de PWM alleen. De DSP-board biedt ook mij een variabele filter en een instelbare versterker en luidspreker zodat ik niet hoef te moeite met deze items.

Het eerste wat dat ik deed was om mijn muziektracks. Ik ging en muziek die ging met het spel in kwestie en gemaakt van een medley van alle tracks met behulp van de vrije Audacity-software gevonden. Ik heb vervolgens het bestand naar de SD-kaart opgeslagen als een 16KHz 16-bits WAV-bestand.

Het is dan gewoon een geval van het openen van het bestand in de software en u het bestand in een buffer leest. De output wordt vervolgens gedreven met behulp van een timer-interrupt te trekken van monsters uit de buffer en stuur ze naar de DAC of PWM op een regelmatige 16KHz teek. Als de buffer vrij klein is (20KB in mijn ingebouwde programmatuur) we hebben om zeker te zijn te opnieuw vullen de buffer elke zo vaak, zodat de audio streaming. Zodra we bereiken het einde van het audio-bestand er is een korte pauze en vervolgens het bestand heropend is stroomsgewijs opnieuw vanaf het begin.

Om het volume van het geluid ik de volume controle potentiometer uit de EB086 Raad knippen en vervolgens in een nieuwe potentiometer met wired draden lang genoeg tot op de rand van het geval. De pot is vervolgens aan de zaak gemonteerd zodat het gemakkelijk kan worden aangepast.

Hier zijn de functies die worden gebruikt voor audioverwerking.

WAVStartStream - gebruikt voor het instellen van de naam van het WAV-bestand op de kaart naar stroom en start de streaming verwerken door vullen de buffer en de lopende timer te starten.

WAVFillBuffer - gezette tijden geroepen om te handhaven van een constante aanvoer van bytes in de geluidsbuffer. Buffer kan ongeveer 0.4 seconden waard van monsters @ 16K samples per seconde duren.

WAVStreamInterrupt - genaamd automatisch bij 16 KHz door de timer perifere op de microcontroller-apparaat.

WAVStopStream - stopt de audio stream en wist u de geluidsbuffer.

Gerelateerde Artikelen

HackerBoxes 0005: LED Pixels, 2D Matrix, 4 x 4 x 4 kubus, en Bluetooth

HackerBoxes 0005: LED Pixels, 2D Matrix, 4 x 4 x 4 kubus, en Bluetooth

De LED uitstappen! Deze maand, werken abonnees op HackerBoxes met LEDs drie verschillende manieren geserveerd. De eerste is adresseerbare LED waanzin met WS2812 gebaseerde RGB pixels. De tweede manier is in een tweedimensionale matrix die is gebaseer
TFT Touch scherm Animation Engine en 8 x 8 RGB LED Matrix Controller

TFT Touch scherm Animation Engine en 8 x 8 RGB LED Matrix Controller

Deze ingesloten toepassing heeft hoopjes van creatieve potentieel voor elke aspirant Arduino fanatici! Een TFT Touch scherm Animation Engine en optionele 8 x 8 RGB LED Matrix Controller. Bekijk de introductie video voor meer details:Wat je nodig hebt
PixelLux-A 64 Pixel RGB LED Video scherm

PixelLux-A 64 Pixel RGB LED Video scherm

bewerken:Wow, ik denk niet dat dit project zou dus worden gekeken op instructables! Bedankt voor het nemen van een blik:). Ik heb een waardeloze video die ik zal uploaden, maar helaas ik was een idioot en uitgebrand mijn teensy... dus ik zal posten e
Geluid reactieve RGB LED Piano licht!

Geluid reactieve RGB LED Piano licht!

Hey iedereen! It's Christmas, en de laatste tijd ik been playing rond met LED's en mijn Arduino alot. Ik heb dit geweldige idee van de verlichting omhoog mijn buffetpiano terwijl knutselen met sommige RGB LED strips. De RGB-LEDs stoten licht dat word
64 pixel RGB-LED Display - een andere kloon Arduino

64 pixel RGB-LED Display - een andere kloon Arduino

dit scherm is gebaseerd op een 8 x 8 RGB LED Matrix. Voor testdoeleinden was deze verbonden op een standaard Arduino board (Diecimila) met behulp van 4 shift registers. Na het krijgen van het aan het werk permatized ik het op een fabbed PCB. De regis
Gebruik een ATTiny $1 te rijden van adresseerbare RGB LED's

Gebruik een ATTiny $1 te rijden van adresseerbare RGB LED's

Arduinos zijn prachtig en makkelijk om mee te werken, maar er zijn enkele projecten waar u moeten een microcontroller, of sommige interactiviteit wilt toevoegen maar wil eigenlijk niet te wijden een $20-30 board!Bij een weinig meer dan $1/elke (minde
Beste RGB LED's voor elk project (WS2812, aka NeoPixels)

Beste RGB LED's voor elk project (WS2812, aka NeoPixels)

Wanneer we met LED's werken, die wij vaak graag controle van hun status (aan/uit), helderheid en kleur. Er zijn vele, vele verschillende manieren over dit te gaan, maar geen zijn zoals een oplossing als de WS2812 RGB LED compact. In haar kleine 5 x 5
Bits bonzen stapsgewijze: controle van de Arduino voor WS2811, WS2812 en WS2812B RGB LED's

Bits bonzen stapsgewijze: controle van de Arduino voor WS2811, WS2812 en WS2812B RGB LED's

Disclaimer: in het afgelopen jaar, een paar verschillende bibliotheken zijn geschreven voor het beheersen van deze alomtegenwoordige RGB LEDs door collega makers van Adafruit, PJRC en het FastSPI-project.  De bibliotheken werken prima, en we moeten p
Charliecube--Charlieplexed 4 x 4 x 4 RGB LED kubus

Charliecube--Charlieplexed 4 x 4 x 4 RGB LED kubus

Dit is een 3D Charlieplexed 64 RGB LED-kubus.De CharlieCube heeft een totaal van 192 LEDs en wordt beheerd door 16 arduino pinnen bedraad via 16 torens van 4 LEDs en 4 aansluitingen. De 64 verbindingen die 16 torens van 4 leidt zijn aangesloten op ee
Kleur kalibreren RGB LEDs met een Arduino

Kleur kalibreren RGB LEDs met een Arduino

De meeste mensen denken LEDs en Arduino van betrekkingen eindigen met het knipperen schets. Daarna moet u gaan naar motoren, intelligente huizen en andere 'serieuze' dingen. Nou, misschien ik ben langzaam of misschien is het gewoon dat ik een grafisc
DMX-512 RGB LED Wash Light Control Board

DMX-512 RGB LED Wash Light Control Board

Een volledige gekenmerkte stuurprogramma bestuur controle van rode, groene en blauwe LED's. Wanneer in paren gerangschikt met de juiste uitgang van bestuur, kan het controleren elke regeling voor LEDs. Gemeenschappelijke kathode, gemeenschappelijke A
Arduino gecontroleerd positionele RGB LED kerstboom

Arduino gecontroleerd positionele RGB LED kerstboom

In dit Instructable we zijn een programmeerbare RGB LED kerstboom maken en bouwen van de (X, Y) posities van de lichten in de Arduino zodanig dat we kunnen creëren verschillende patronen zowel statische als animatie. Ik zou dit aanbevelen aan iederee
Gebruik 8 x 8 x 8 RGB Led kubus met Arduino

Gebruik 8 x 8 x 8 RGB Led kubus met Arduino

8 * 8 * 8 RGB Led kubus is een van de prachtige RGB lichte kubieke module ontworpen door ons,en vormt die de arduino compatibele interface en gebruik de SPI interface als de controle-interface.Het heeft verschillende kleurmodus binnen.Stap 1: Stap 2:
32 x 32 RGB LED Plasma w / STM32F4.

32 x 32 RGB LED Plasma w / STM32F4.

Er zijn al een paar tutorials daar tonen hoe een 32 x 32 RGB LED weergave bepalen.Dit project heeft enkele lichte variaties met de volgende functies:Op basis van een STM32F401RE eval PensionSoftware gegenereerd door STM32CubeMX BSP (v1.4.0 gebruikt h