Índice:

Leitor de música AdaBox004: 4 etapas
Leitor de música AdaBox004: 4 etapas

Vídeo: Leitor de música AdaBox004: 4 etapas

Vídeo: Leitor de música AdaBox004: 4 etapas
Vídeo: Распаковка ноутбука HP PAVILION GAMING 15-ec1077ax 2024, Novembro
Anonim
AdaBox004 Music Player
AdaBox004 Music Player

Usei as peças do AdaBox004 para fazer um reprodutor de música simples. Ele se conecta a uma porta USB e começa a reproduzir músicas aleatoriamente do cartão micro SD. É para o meu workshop, uma fonte descomplicada de músicas animadas.

Etapa 1: Peças

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

Etapa 2: faça a caixa de música

Faça a caixa de música
Faça a caixa de música
Faça a caixa de música
Faça a caixa de música

As instruções gerais estão no site AdaFruit em

Importante prestar atenção a:

Ao ler as instruções do AdaBox004, é fácil ignorar os links para sites de instruções dos componentes. Certifique-se de prestar atenção às caixas verdes que contêm links para: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Na seção "Usando o IDE do Arduino" para a placa, há links para os drivers de que você precisará para conectar a placa e baixar o código do IDE do Arduino, bem como instruções para adicionar a placa como uma opção ao IDE do Arduino.

Da mesma forma, preste atenção ao link para o Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Isso contém instruções para instalar as bibliotecas necessárias no Arduino.

Liguei o potenciômetro exatamente como mostrado (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - mas observe que movi o Feather mais para trás na placa de ensaio para fazer o cabo USB caber.

A caixa branca vem com o kit. Eu simplesmente usei um furador para fazer orifícios grandes o suficiente para que o cabo USB incluído passasse. Eu fiz um pequeno corte com um canivete na caixa dobrada para saber onde cortar em cada painel.

Para a abertura do alto-falante, estimei o centro e marquei-o com uma grande moeda estrangeira (100 colones da Costa Rica para ser exato) e, em seguida, cortei o círculo com um estilete. O alto-falante estava alinhado e eu marquei onde os pequenos parafusos deveriam ir com um soco forte.

Etapa 3: Código do reprodutor de música

Modifiquei o código de exemplo para o reprodutor de penas, removendo o código que não se aplicava. Você pode recortar e colar no IDE do Arduino e carregá-lo no Feather.

Observe que tive dificuldade em fazer com que os arquivos fossem reconhecidos. O que tenho aqui funciona, mas você tem que ajustar o código para alterar o número de músicas que estão disponíveis. E observe que a maneira como fiz isso tornará difícil fazer mais de 100 músicas (000 - 099) porque seleciona apenas 2 dígitos individuais. Eu poderia ter escolhido o número da faixa real, mas teria que analisá-lo para criar o nome de arquivo correto. Talvez em alguma iteração futura.

O arquivo também está disponível no GitHub em https://github.com/KFW/AdaBox004. Se eu fizer alguma alteração, eles estarão lá.

// AdaBox004_random_songs

// Especificamente para uso com o Adafruit Feather, os pinos são predefinidos aqui! // exemplo de feather_player modificado para o projeto AdaBox 004 // player autônomo que reproduz músicas aleatórias da lista de reprodução // retirou o código não utilizado // teve problemas para obter o nome do arquivo string to work convertendo String type // uma vez que a chamada de função para jogar usa o array char // depois de tentar diferentes abordagens, este é o kludge que criei // as faixas são chamadas de TRACK ##. mp3 // Tenho 60 músicas no cartão SD I estou usando (000 - 059) // teria sido mais inteligente contar o número de arquivos ou encontrar alguma outra maneira de obter o nome do arquivo aleatoriamente // Muito bem da próxima vez

// inclui bibliotecas SPI, MP3 e SD

#include #include #include

// Estes são os pinos usados

#define VS1053_RESET -1 // VS1053 reset pin (não usado!) // Feather ESP8266 - usando HUZZAH featther #define VS1053_CS 16 // VS1053 chip select pin (output) #define VS1053_DCS 15 // VS1053 Data / command select pin (saída) #define CARDCS 2 // Pino de seleção de chip de cartão #define VS1053_DREQ 0 // VS1053 Solicitação de dados, de preferência um pino de interrupção #define VOLUME_KNOB A0

int últimovol = 10;

int loopcounter = 0; long trackNumber; String trackString; música char [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);

void setup () {

// Serial.begin (115200); // necessário apenas para resolução de problemas // while (! Serial) {delay (1); } // Espere a porta serial ser aberta, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // HUZZAH tem apenas 1 pino analógico que já é usado // precisava de uma semente aleatória diferente // esta ideia de https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // Faça um tom para indicar que o VS1053 está funcionando SD.begin (CARDCS);

// Defina o volume para os canais esquerdo e direito. números mais baixos == volume mais alto!

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

void loop () {

// verifique periodicamente para ajustar o volume!

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

// Reproduz um arquivo em segundo plano, REQUER interrupções!

if (! musicPlayer.playingMusic) {trackNumber = random (6); // tem que fazer isso um dígito de cada vez; primeiro dígito 0-5 char c = char (trackNumber + 48); // ASCII 48 é '0'; precisa mudar o valor para obter a música do personagem certo [6] = c; // substitui o valor das dezenas no array char trackNumber = random (10); // segundo dígito 0-9 c = char (trackNumber + 48); canção [7] = c; // Serial.println (música); musicPlayer.startPlayingFile (música); atraso (10); }}

Etapa 4: aproveite

Simplesmente conecte a uma fonte de alimentação USB e curta suas músicas favoritas.

O volume pode ser ajustado com o potenciômetro dentro da caixa. Caso contrário, nenhum controle.

Recomendado: