lunes, 20 de abril de 2015

Grabadora de audio en SD con arduino


Página principal


Grabadora de audio en SD con arduino.
xsetaseta@gmail.com


Esta es la continuación de los montajes voz2.html, arduvoz.html y arvoc.html .
Aquí lo integro todo en el mínimo espacio, con un arduino nano, y con botones para su control.
Se podía, pero no he querido colocar la tarjeta SD paralela al circuito y hacer mas pequeño el conjunto.
Para poder entender todo bien, recomiendo que veáis la explicación de los anteriores artículos.
El consumo de todo el circuito es de 32mA a 5V.
He probado el montaje a 4,5V y también funciona, pero los cálculos están para 5V.
No he querido quitar la parte del manejo bajo consola, pero se puede quitar.


Circuito de amplificador de audio, botones y leds


Adaptador de SD

Filtro de salida de audio




Circuito montado


PROGRAMA

VIDEO

Funcionamiento
Existen 3 botones , grabar, reproducir y paro.
Para grabar pulsar el botón grabar, y si se quiere parar el botón de parar.
Para reproducir el último fichero pulsar el botón de reproducir.
Si se quiere reproducir ficheros anteriores, pulsar otras vez el botón de reproducir mientras se esta reproduciendo un archivo, irá pasando a los archivos anteriores.

Saludos
Juan Galaz



Bibliografía:
http://seta43.duckdns.org/arduvoz.html
http://seta43.duckdns.org/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

domingo, 12 de abril de 2015

Grabador y reproductor de audio en SD con arduino.

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://seta43.duckdns.org/arduvoz.html
http://seta43.duckdns.org/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