Tabla de contenido:

Reproductor de música AdaBox004: 4 pasos
Reproductor de música AdaBox004: 4 pasos

Video: Reproductor de música AdaBox004: 4 pasos

Video: Reproductor de música AdaBox004: 4 pasos
Video: John Park's Mystery Box: The Haunted Radio demo @adafruit @johnedgarpark #adafruit 2024, Mes de julio
Anonim
Reproductor de música AdaBox004
Reproductor de música AdaBox004

Usé las partes del AdaBox004 para hacer un reproductor de música simple. Se conecta a un puerto USB y comienza a reproducir canciones al azar desde la tarjeta micro SD. Es para mi taller una fuente sencilla de canciones alegres.

Paso 1: Partes

AdaBox004 (https://www.adafruit.com/product/3370)

Paso 2: haz la caja de música

Haz la caja de música
Haz la caja de música
Haz la caja de música
Haz la caja de música

Las instrucciones generales se encuentran en el sitio de AdaFruit en

Importante prestar atención a:

Al leer las instrucciones de AdaBox004, es fácil pasar por alto los enlaces a los sitios de instrucciones de los componentes. Asegúrese de prestar atención a los recuadros verdes que tienen enlaces para: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). En la sección "Uso del IDE de Arduino" para la placa, hay enlaces a los controladores que necesitará para conectar la placa y descargar el código del IDE de Arduino, así como instrucciones para agregar la placa como una opción al IDE de Arduino.

Asimismo, preste atención al enlace de Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Eso tiene instrucciones para instalar las bibliotecas necesarias en Arduino.

Conecté el potenciómetro exactamente como se muestra (https://learn.adafruit.com/adabox004/adding-a-volume-knob), pero tenga en cuenta que moví el Feather más atrás en la placa para que el cable USB encajara.

La caja blanca viene con el kit. Simplemente utilicé una perforadora para hacer agujeros lo suficientemente grandes para que el cable USB incluido pasara. Hice una pequeña hendidura con una navaja de bolsillo en la caja doblada para saber en qué parte de cada panel cortar.

Para la apertura del orador, calculé el centro y lo marqué con una moneda extranjera grande (100 colones costarricenses para ser exactos), luego corté el círculo con un cuchillo de taller. El altavoz estaba alineado y marqué dónde deberían ir los pequeños pernos con un puñetazo afilado.

Paso 3: Código del reproductor de música

Modifiqué el código de ejemplo para el reproductor de plumas, eliminando el código que no se aplicaba. Puede cortarlo y pegarlo en el IDE de Arduino y luego cargarlo en su Feather.

Tenga en cuenta que me costó mucho intentar que se reconocieran los archivos. Lo que tengo aquí funciona, pero tienes que ajustar el código para cambiar la cantidad de canciones que están disponibles. Y tenga en cuenta que la forma en que lo hice hará que sea difícil hacer más de 100 canciones (000 - 099) porque solo selecciona 2 dígitos individuales. Podría haber elegido el número de pista real, pero luego habría tenido que analizarlo para crear el nombre de archivo correcto. Quizás en alguna iteración futura.

El archivo también está disponible en GitHub en https://github.com/KFW/AdaBox004. Si hago algún cambio, ahí es donde estarán.

// AdaBox004_random_songs

// ¡Específicamente para usar con Adafruit Feather, los pines están preestablecidos aquí! // ejemplo de feather_player modificado para el proyecto AdaBox 004 // reproductor independiente que reproduce canciones aleatorias de la lista de reproducción // código sin usar eliminado // tuvo problemas para obtener el nombre del archivo cadena para trabajar convirtiendo el tipo de cadena // ya que la llamada a la función para reproducir usa la matriz de caracteres // después de probar diferentes enfoques, este es el problema que se me ocurrió // las pistas se llaman TRACK ##. mp3 // Tengo 60 canciones en la tarjeta SD I Estoy usando (000 - 059) // hubiera sido más inteligente contar el número de archivos o encontrar otra forma de obtener el nombre del archivo al azar // Bueno, la próxima vez

// incluye bibliotecas SPI, MP3 y SD

#incluir #incluir #incluir

// Estos son los pines utilizados

#define VS1053_RESET -1 // VS1053 reset pin (no usado!) // Feather ESP8266 - usando HUZZAH featther #define VS1053_CS 16 // VS1053 chip select pin (salida) #define VS1053_DCS 15 // VS1053 Data / command select pin (salida) #define CARDCS 2 // Pin de selección de chip de tarjeta #define VS1053_DREQ 0 // VS1053 Solicitud de datos, idealmente un pin de interrupción #define VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; long trackNumber; String trackString; char song [13] = {'T', 'R', 'A', 'C', 'K', '0', '2', '0', '.', 'm', 'p', '3', '\ 0'};

Adafruit_VS1053_FilePlayer musicPlayer =

Adafruit_VS1053_FilePlayer (VS1053_RESET, VS1053_CS, VS1053_DCS, VS1053_DREQ, CARDCS);

configuración vacía () {

// Serial.begin (115200); // solo se necesita para solucionar problemas // while (! Serial) {delay (1); } // Espere a que se abra el puerto serie, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // HUZZAH tiene solo 1 pin analógico que ya se usa // necesitaba una semilla aleatoria diferente // esta idea de https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // Emite un tono para indicar que VS1053 está funcionando SD.begin (CARDCS);

// Establece el volumen para los canales izquierdo y derecho. números más bajos == volumen más alto!

musicPlayer.setVolume (lastvol, lastvol); musicPlayer.useInterrupt (VS1053_FILEPLAYER_PIN_INT); // DREQ int}

bucle vacío () {

// ¡Verifique periódicamente para ajustar el volumen!

loopcounter ++; if (contador de bucles> = 1000) {contador de bucles = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); vol / = 10; if (abs (vol - lastvol)> 3) {// Serial.println (vol); lastvol = vol; musicPlayer.setVolume (lastvol, lastvol); }}

// Reproduce un archivo en segundo plano, ¡REQUIERE interrupciones!

if (! musicPlayer.playingMusic) {trackNumber = random (6); // tienes que hacer esto un dígito a la vez; primer dígito 0-5 char c = char (trackNumber + 48); // ASCII 48 es '0'; es necesario cambiar el valor para obtener el carácter correcto. canción [6] = c; // reemplaza el valor de las decenas en la matriz de caracteres trackNumber = random (10); // segundo dígito 0-9 c = char (trackNumber + 48); canción [7] = c; // Serial.println (canción); musicPlayer.startPlayingFile (canción); retraso (10); }}

Paso 4: disfruta

Simplemente conéctelo a una fuente de alimentación USB y disfrute de sus canciones favoritas.

El volumen se puede ajustar con el potenciómetro dentro de la caja. De lo contrario, no hay controles.

Recomendado: