Reproducir archivos de sonido audio (wav) con un Arduino (9 / 9 paso)

Paso 9: Interrupciones y doble búfer

A 22 Khz un byte de datos de audio se genera cada ms 0,045

512 bytes (el tamaño del búfer) se lee en ms 2,08.

Así que el buffer puede no leer en la SDCard en un escritura ciclo.

Sin embargo se escriben 512 bytes en el puerto de 23.22ms.

Lo único que tenemos que hacer es configurar un archivo nuevo Lee cada vez que se vacía el búfer de y tenemos tiempo suficiente para obtener los datos antes de un nuevo bloque de datos se requiere... Suponiendo que utilizamos dos buffers, uno vaciado, llenamos otra.

Se trata de doble búfer.

El archivo a leer será frenado por la interrupción repetida, pero va hacer.

.

Tengo dos tampones 512 bytes setup se llama bufa y bufb.

Si es cierto la bandera ya leemos de porta si no que leemos de portb

Cuando llega a la posición del búfer (bufcount) el tamaño del búfer (BUF_SIZE 512) ponemos una bandera llamada readit en true.

La rutina bucle vacío busca esta bandera y comienza un bloque de lectura:

{if(readit)}
Si (! ya) {}

iniciar bloque SDCard leer a bufa

tempfile.Read (bufa, BUF_SIZE);

} else {}

iniciar bloque SDCard leer a bufb

tempfile.Read (bufb, BUF_SIZE);

}

readit = false;

}

Cuando haya terminado la rutina banderas readit = false.

Dentro de la rutina de interrupción debemos comprobar que el bucle vacío ha terminado marcando si readit == false.

Siendo este el caso nos señal que otro Lea es necesario marcar esta ya para cambiar amortiguadores.

Si todavía está leyendo la tarjeta SD tenemos que seguir una lectura (contador--; bufcount--;) y salir de la interrupción a intentarlo más tarde. (Clic en la señal de salida de audio implica que esto ha ocurrido).

Cuando todos los datos se lee la interrupción se cancela, el puerto el valor medio del voltaje de 128 y el archivo de audio a la posición cerrado.

.

Antes de ejecutar el script de dac2.ino por primera vez, ajuste el volumen al 50%. Esta va a ser demasiado fuerte, pero es mejor que 100%!

Si su control de volumen funciona a la inversa, intercambiar los cables en los extremos opuestos del potenciómetro de 10K.

Me dejan saber cómo suena.

Artículos Relacionados

Reproducir archivos de sonido con tu arduino

Reproducir archivos de sonido con tu arduino

Puede reproducir archivos mp3 con tu arduino!¿Cómo? ->Basta con ver este video: http://bit.ly/1LS4IapPaso 1: materialesBasta de estas cosas:-micro sd-Escudo con ranura para tarjeta sd-altavoz-Arduino(uno)-un alambrePaso 2: Suscríbete!Si te gusta este
Reproducir sonido en pc con arduino y progduino

Reproducir sonido en pc con arduino y progduino

Hoy voy a mostrar lo fácil que es construir un reproductor sencillo y ejecutarlo en el ordenador con arduino y progduino.Más información sobre progduino: http://www.progduino.comPaso 1: Código de Arduino - reproductor en su pc.Copie el código en su e
IMP-ERSONATOR: Electric Imp + Arduino + protector de la onda = reproductor de archivos de sonido remoto

IMP-ERSONATOR: Electric Imp + Arduino + protector de la onda = reproductor de archivos de sonido remoto

este Instructable demostrará cómo hacer un reproductor de archivos de sonido activado remotamente.Utiliza un Imp eléctrico, un protector de la onda de Adafruit y un Arduino UnoEl diablillo eléctrico le permite rápidamente conectar dispositivos (inclu
Fluencia a tus amigos con sonido!! y un Arduino

Fluencia a tus amigos con sonido!! y un Arduino

Hoy mostrará usted cómo arrastran los diablos de sus amigos de Halloween utilizando un arduinoLo que estaremos haciendo esto va hacer el arduino jugar un sonido file(.wav) esto no es que cualquier sonido es muy espeluznante y raro 18hz sonido que le
Reproducir mp3 con tu arduino (fácil)

Reproducir mp3 con tu arduino (fácil)

Puede reproducir archivos mp3 con tu arduino!sólo se necesita un escudo de ethernet y una tarjeta micro sd!Paso 1: materialesBasta de estas cosas:-micro sd-Escudo con ranura para tarjeta sd-altavoz-arduino (utilicé un uno)-un alambrePaso 2: ¿Cómo?Mir
Sólo Veggin con un Arduino Beetbox

Sólo Veggin con un Arduino Beetbox

traer mando a Arduino. Uso interesantes sensores al tacto como las zanahorias o remolacha para hacer un "Beetbox".En este instructable usted aprenderá:* Cómo utilizar la biblioteca de tapa sentido sensible al tacto para Arduino* Cómo añadir un p
Hacer un escáner de código de barras portátil con un arduino y un cuecat

Hacer un escáner de código de barras portátil con un arduino y un cuecat

alrededor de la vuelta del siglo, hubo una empresa cuyo modelo de negocio incluido regalando escáneres de código de barras gratuito que emula teclados.    Un mod relativamente fácil para estos escáneres cuecat quita el cifrado y los hizo conveniente
Cómo medir la temperatura con gran exactitud con un Arduino y un tablero de Sensor de temperatura de TSYS01.

Cómo medir la temperatura con gran exactitud con un Arduino y un tablero de Sensor de temperatura de TSYS01.

Mientras estudiaba en la Universidad fuimos desafiados como parte de un trabajo de curso en diseño de una caja con control de temperatura muy preciso. Si el proyecto fuera a tener éxito, múltiples cajas debían ser construido y utilizado en un proyect
Controlando un Motor paso a paso con un Arduino

Controlando un Motor paso a paso con un Arduino

Este tutorial le mostrará cómo funciona un motor de paso a paso que fue rescatado de una impresora antigua con un Arduino.Paso 1: ¿Qué es un Motor paso a paso? Un motor paso a paso consta de dos partes principales: un rotor y un estator. El rotor es
ARD-e: el robot con un Arduino como un cerebro

ARD-e: el robot con un Arduino como un cerebro

cómo crear un robot de código abierto Arduino controlado por menos de $100.Esperemos que después de leer esto instructable usted será capaz de dar su primer paso en robótica. ARD-e cuesta unos $90 a $130 dependiendo de cuánto electrónica repuesto tie
Etiquetas de RFID de lectura con un Arduino

Etiquetas de RFID de lectura con un Arduino

en este proyecto, aprenderás a leer una etiqueta RFID utilizando el lector de novedades ID-12 y un Arduino Duemilanove.Paso 1: Comencemos! Usaremos el ID innovaciones ID-12 para realizar la tarea de leer una etiqueta RFID. Como mínimo, requiere de +
Wii remoto IR cámara Hack con interfaz Arduino

Wii remoto IR cámara Hack con interfaz Arduino

físicamente a extraemos la cámara IR desde el control remoto Wii e interfaz con un arduino controlar un servo.La cámara de infrarrojos de Wii es una cosa maravillosa. Tiene un procesador integrado que las posiciones X e Y y el tamaño de los 4 puntos
Programación Arduino con otro Arduino

Programación Arduino con otro Arduino

Este es mi primer Instructable. En este Instructable voy a mostrarle cómo programar un Arduino con otro Arduino. No hay controladores son necesarios! Este Instructable es también útil para subir bocetos a chino ArduinoPaso 1: Cosas necesarias1. un Ar
Datalogger con un Arduino de carreras

Datalogger con un Arduino de carreras

Este es un proyecto mío que me pidió un par de veces durante un poco y pensé que sería postearlo para personas interesados. Existen algunas limitaciones actuales como la resolución de datos y sincronización de datos desde diferentes entradas, pero es