Paso 4: Arduino UNO - tarjeta de sonido
Estoy usando el Uno para jugar los archivos de música a través de un escudo de SD. Estoy usando la biblioteca SimpleSDAudio para reproducir los archivos estéreos de la ASF a través de salidas PWM 9 y 10. Encontré a un viejo auriculares que yo soldar terminales de conexión en. Se trata de la salida de audio para conectar altavoces autoamplificados para. Se conecta a la placa y se cablea a salidas 9 y 10 a través de algunas resistencias y condensadores como se muestra en el ejemplo de SimpleSDAudio Base mínimo. Resistencia de condensador---10 k PIN 9---100 uF---canal derecho entrada jack---resistencia de 1 k---tierra. Pin 10 está conectado la misma manera para el canal izquierdo en la toma de entrada (si desea supervisar la pista sólo voz).
Pin 2 es como una salida y alambrada a la clavija entrada 50 de la Mega.
PIN 7 está configurado como un input_pullup y por cable a través del botón a tierra (para ser reemplazado con un interruptor de estera agradable)
El bosquejo se basa en una versión modificada del ejemplo mínimo incluido en la biblioteca de SimpleSDAudio.
La primera versión de este bosquejo, "BooFrightersAudioUNO", reproduce un archivo en la tarjeta SD llamada "skel.asf". Puede nombrar su archivo skel o cambiar la línea 26 en el nombre de archivo correcto.
La nueva versión, BooFrightersRandAudioUNO", selecciona una canción al azar de la tarjeta SD. Todos los nombres de archivo son números. Por ejemplo, cambiar el nombre "skel.afs" "1.afs", la siguiente canción es "2.afs" y así sucesivamente. Línea 31 en el bosquejo tiene que modificarse para determinar el número de archivos para elegir. Ahora tengo 2 canciones para propósitos de prueba. Línea 31 dice:
fileToPlay = random(1,3);
1 es el primer número de la secuencia aleatoria y 3 el mayor número más 1. Si usted tiene 10 archivos para elegir, el segundo número sería 11.
La siguiente línea de código convierte al número en una cadena y añade la extensión de archivo.
sprintf (AudioFileName, "% d.afs", fileToPlay);
La siguiente línea establece el nombre del archivo para jugar.
if (!. {SdPlay.setFile(AudioFileName))}
Estoy usando semilla aleatoria del pin analógico 0 tener un orden de juego verdaderamente aleatorios.