Página principal
Grabador y reproductor de audio en SD
con arduino.
En un circuito antiguo arduvoz.html y arvoc.html
, había realizado un reproductor de audio grabado en una tarjeta SD.
En otro de mis circuitos ardu_os.html
también había realizado un digitalizador de 66k muestras por
segundo.
Ahora juntamos los dos montajes y tenemos un grabador/reproductor de
audio en una tarjeta SD con el arduino.
En una tarjeta SD almaceno las muestras de la entrada de A0 en
ficheros wav en un formato de 8bits y con una frecuencia de
11KHz.
Mediante la consola serie escribo el nombre del fichero a
reproducir, y el arduino lo reproduce si existe.
Realmente no se almacena como formato wav, sino como formato en
bruto, lo único que para mantener la compatibilidad con formato wav,
dejo 1000bytes a cero como cabecera.
Para poder entender todo bien recomiendo que veáis la explicación de
los anteriores artículos.En la salida, pin 9 del arduino, sale
la señal de audio que se filtra mediante un condensador.
La tarjeta SD funciona a 3,3V, y como el arduino funciona a 5V
debemos hacer adaptar la entradas y salidas. Para no complicar el
circuito y no gastarnos dinero en un adaptador, lo realizo con
resistencias.
Es fácil y normalmente funciona bien.
Esquema eléctrico.
Circuito eléctrico montado en un adaptador de SD a MicroSD.
Diagrama del filtro de salida del audio.
Entrada audio.
Para poder digitalizar audio en el arduino, debemos elevar la
tensión de entrada A0 del arduino a 2,5V, esto lo hacemos con dos
resistencias de 10K.
El montaje realizado.
Las prueba las he realizado digitalizando una emisora de radio y son
las que muestro en el vídeo siguiente.
https://youtu.be/fYuAXFDe1pg
Ordenes desde la consola
modo=0 pasa entrada a salida directamente
modo=1 reproduce
modo=2 graba
stop para
la grabación o reproducción
Si queremos importar el audio y transformarlo en cualquier formato,
wav ,mp3, ogg, debemos utilizar el programa Audacity.
Ficheros grabados tarjeta SD.
Importar archivo en bruto y cambiar a una frecuencia de
muestreo de 11000Hz.
Como podéis ver en el archivo importado, hay al
principio 1000bytes a cero que si se quiere se pueden eliminar.
El resultado del audio no es muy bueno pero sirve perfectamente para
digitalizar voz.
En el próximo montaje realizaré un grabador de audio utilizando un
micrófono y un LCD para su control.
PROGRAMA
Saludos
Juan Galaz
Bibliografía:
http://www.seta43.netau.net/arduvoz.html
http://www.seta43.netau.net/arvoc.html
http://ravc00cs.blogspot.com.es/2012/07/pwm.html
https://github.com/TMRh20/TMRpcm/wiki
http://apcmag.com/arduino-project-5-digital-audio-player.htm
http://arduino-info.wikispaces.com/Arduino-PWM-Frequency
http://hykrion.com/?q=node/153
http://arduino.cc/es/Tutorial/SecretsOfArduinoPWM