Índice:

ESP8266 DfPlayer Audio Player: 8 etapas
ESP8266 DfPlayer Audio Player: 8 etapas

Vídeo: ESP8266 DfPlayer Audio Player: 8 etapas

Vídeo: ESP8266 DfPlayer Audio Player: 8 etapas
Vídeo: Урок 19 Делаем MP3 плеер на DFPlayer Mini и Arduino 2024, Julho
Anonim
ESP8266 DfPlayer Audio Player
ESP8266 DfPlayer Audio Player
ESP8266 DfPlayer Audio Player
ESP8266 DfPlayer Audio Player
ESP8266 DfPlayer Audio Player
ESP8266 DfPlayer Audio Player

Este é um reprodutor de áudio mp3 construído a partir de um módulo wi-fi esp8266 e um módulo dfPlayer mp3. Ele reproduz arquivos de um cartão SD.

Coloquei-o em um alto-falante de computador antigo e fiz com que funcionasse com bateria, mas poderia ser embutido em qualquer caixa de alto-falante.

Características incluem

  • 4 botões locais para uso independente (volume, seleção simples)
  • Interface do navegador móvel com controles de reprodução e navegação de pasta
  • Controle de mudo para permitir o uso de fones de ouvido
  • Fácil configuração via WifiManager
  • Atualizações de firmware over the air
  • Navegador de arquivos para manutenção
  • dfPlayer até 2W de saída de áudio para alto-falante (mono). Estéreo para fones de ouvido

Etapa 1: Componentes e ferramentas necessárias

Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias
Componentes e ferramentas necessárias

As seguintes partes são necessárias

  • Módulo de processamento wi-fi ESP-12F
  • Módulo dfPlayer mp3 com suporte para cartão micro SD
  • Bateria 18650 e suporte
  • Módulo carregador LIPO
  • Botões de pressão x4
  • Chave deslizante de alimentação x 1
  • Regulador de tensão usando chip de baixa queda de 3,3 V (por exemplo, XC6203)
  • Pedaço de placa de circuito para fazer o regulador
  • Resistor 2.2K
  • 10K resistor x 2
  • Resistor 47K
  • Capacitor de desacoplamento 220 uF
  • Fio de engate
  • Alto-falante + gabinete (por exemplo, alto-falante do computador ou rádio antigo)
  • Plug do fone de ouvido. Pode já estar presente no gabinete existente.
  • Cartão SD (4 GB recomendado, mas quase qualquer tamanho pode ser usado)

Tudo isso pode ser obtido por quantias muito modestas em sites como o eBay

Ferramentas necessárias

  • Perfure e limas para fazer orifícios no gabinete
  • Ferro de solda de ponta fina

O módulo dfPlayer pode ser difícil de montar, pois precisa ter acesso externo a um slot para obter o cartão SD. Para gabinetes que possuem um painel plano, usei um suporte impresso em 3D projetado para segurar o módulo com segurança contra o painel

Etapa 2: Esquemático

Esquemático
Esquemático

O esquema é bastante simples.

Um módulo de carga de bateria LIPO é usado para carregar a bateria.

A bateria alimenta o módulo dfPlayer diretamente e o ESP-12F por meio de um regulador de 3,3V.

O dfPlayer é controlado por uma interface serial, portanto, 2 pinos no módulo ESP-12F suportam isso.

4 botões estão ligados ao ESP-12F GPIO para operação independente.

O alto-falante e o fone de ouvido são suportados diretamente pelo módulo dfPlayer.

Etapa 3: construção

Construção
Construção
Construção
Construção

Os detalhes da construção mecânica variam com o tipo de gabinete a ser usado. O exemplo aqui usado unidade de alto-falante do computador. Isso tinha muito espaço interno para os módulos e eletrônicos.

A imagem mostra a vista completa para este exemplo. O USB, o botão liga / desliga e os botões de pressão estão no lado direito. O LIPO é montado na parte traseira. O módulo ESP-12F, fone de ouvido e dfPlayer são montados no lado esquerdo. A bateria foi montada na parte traseira.

As etapas gerais após elaborar um layout que se adapte ao seu gabinete são

  • Faça furos e lixe os orifícios para entrada USB, interruptor deslizante, 4 botões, conector de fone de ouvido e slot para cartão micro SD. O slot do cartão SD deve ser feito com cuidado para se alinhar com o local onde o módulo dfPlayer será montado.
  • Se desejar que o alto-falante seja mudo para permitir a operação do fone de ouvido, o dfPlayer precisa de uma pequena modificação, conforme ilustrado. Há um mudo no pequeno amplificador a bordo, mas ele é conectado ao aterramento por meio de um resistor de 0 Ohm. Remova este resistor e substitua por um resistor de 10K. Solde um chumbo na almofada, conforme mostrado. Este é o mudo que pode então ser controlado a partir do ESP-12F
  • Observe que você pode querer atualizar o módulo ESP-12F primeiro, antes da construção final da mecânica. Veja a etapa do software.
  • Monte o regulador de 3,3 V em um pedaço de placa de tira de sucata. Existem apenas 2 componentes e pode ser feito para ser conectado e montado no módulo ESP-12F.
  • Monte mecanicamente os interruptores de botão, fixe com cola e solde um laço de aterramento em um lado de todos os interruptores.
  • Solde 4 fios soltos no conector USB e monte-o no gabinete e prenda com cola
  • A solda leva do suporte da bateria até o carregador LIPO e a chave liga / desliga. Cole o carregador e o interruptor deslizante na caixa.
  • Solde os fios soltos no conector do fone de ouvido, monte e cole no lugar.
  • Adicione o resistor 2.2K, o divisor ADC e a conexão CH / Up ao módulo ESP-12F
  • A solda solta leva ao módulo ESP-12F para interface serial, os 4 botões GPIO.
  • Monte o dfPlayer no lugar, tomando cuidado para que o slot tenha acesso para o cartão SD.
  • Fiação completa do ESP12-F para conexões de energia, botões de pressão, interface serial e controle de mudo no dfPlayer
  • Fiação completa de energia, par de dados USB, fone de ouvido e alto-falante para dfPlayer

Verifique novamente a fiação de alimentação!

Etapa 4: Software e instalação

O software ESP é escrito no ambiente Arduino. O código-fonte está disponível em https://github.com/roberttidey/dfPlayer A biblioteca que controla o dfPlayer está lá. As outras bibliotecas necessárias e listadas lá são módulos padrão.

O esboço do ino não precisa ser muito alterado, embora você deseje alterar o WifiManager e as senhas de atualização do firmware.

Compile em um ambiente Arduino ESP8266 e faça o primeiro flash através da conexão serial padrão. Outras atualizações podem ser feitas exportando um arquivo binário no IDE do Arduino e fazendo uma atualização OTA (over the air) direto para a unidade sem fios.

Na primeira utilização, o software não terá as credenciais de wi-fi locais, mas, em vez disso, criará um ponto de acesso denominado dfPlayerSet up. Conecte-se a ele (por exemplo, de um telefone ou tablet) e navegue até 102.168.4.1. Isso abrirá uma interface para permitir a seleção da rede real e inserir sua senha. A partir de então, isso será usado automaticamente.

Existe um carregador de arquivo simples que deve ser usado para carregar arquivos básicos para o sistema de arquivamento SPIFFS no ESP-12F (edit.htm.gz, index.html, basic.htm, favicon *-p.webp

A partir de então, você pode usar https:// ip / edit para enviar mais dados de uma forma mais amigável.

Você pode editar o index.htm para se referir a um arquivo favicon diferente e dar a ele um título diferente, se necessário.

O favicon será usado se adicionar um atalho à tela em um telefone, digamos.

Etapa 5: preparação do cartão SD

O dfPlayer reproduz arquivos diretamente do cartão SD, mas possui uma pasta limitada e um esquema de nomenclatura de arquivos.

Para facilitar o uso e o controle, um script é fornecido com o software que pode suportar essa nomenclatura, mas também permite que os nomes originais sejam processados na interface da web.

Para usar, monte o cartão SD em um PC e copie através da pasta com faixas com seus nomes originais (por exemplo, álbuns para pastas e nomes de faixas para arquivos).

Execute o script (dfPlayer-makeSD.vbs). Ele solicitará o volume do cartão SD. Altere isso conforme necessário. Em seguida, ele renomeará todas as pastas e arquivos no cartão SD e criará arquivos de mapeamento a partir da nomenclatura simplificada de volta aos nomes originais. Folders.txt contém uma lista dos números e nomes das pastas. O arquivo Track.txt individual contém o mapeamento dentro de cada pasta. Apenas o Folders.txt é necessário neste estágio. Os aprimoramentos do software podem usar as listas de trilhas no futuro.

O arquivo Folders.txt precisa ser carregado no sistema de arquivos ESP-12F SPIFFS por meio do uploader / edit.

Observe que você pode excluir pastas e adicionar novas. Ao adicionar um novo com a nomenclatura original, basta executar o script novamente. Ele renomeará apenas as novas pastas e arquivos e reconstruirá os mapas. O novo FOlders.txt precisaria ser carregado novamente.

Etapa 6: Operação autônoma

Os 4 botões funcionam da seguinte maneira.

  • Aumentar o volume. Toque curto para aumentar o volume, toque longo para ativar o som do alto-falante
  • Diminuir o volume Um toque curto diminui o volume. Pressão longa silencia o alto-falante
  • Select1 Short Press incrementa o número da pasta a ser reproduzida. Pressione longamente para iniciar a reprodução da pasta selecionada
  • Select2 Short Press diminui o número da pasta. Long Press começa a tocar faixas aleatórias

Etapa 7: Operação normal do navegador

Isso é acessado em https:// ip (padrão index.htm)

Ele traz uma interface web simples com um controle deslizante de volume e um conjunto de controles de reprodução

  • Pausa
  • Toque
  • Aleatória
  • Pare
  • Pular para a próxima
  • Pular para o anterior
  • Falar do alto-falante
  • Alto-falante mudo

Abaixo dele, há um conjunto de botões, um por pasta no cartão, preenchido com seus nomes originais. Clicar em um deles iniciará a reprodução dessa pasta.

Etapa 8: Operação básica do navegador

Operação básica do navegador
Operação básica do navegador

Uma interface de navegador simplificada pode ser usada principalmente para fins de teste. Isso é acessado em

Permite a seleção do comando e seus parâmetros a enviar ao software.

Esses comandos são enviados para o ESP12-F usando

http: / ip / dfPlayer? cmd = comando & p1 = primeiro & p2 = segundo & p3 = terceiro

Os comandos disponíveis são

  • ? cmd = reproduzir & p1 = pasta & p2 = faixa
  • ? cmd = playmp3 & p1 = trilha
  • ? cmd = volume & p1 = nível (0-30)
  • ? cmd = parar
  • ? cmd = volumeup
  • ? cmd = volumedown
  • ? cmd = alto-falante & p1 = desligado (0/1)
  • ? cmd = pausa
  • ? cmd = iniciar
  • ? cmd = próximo
  • ? cmd = anterior
  • ? cmd = modo & p1 = tipo
  • ? cmd = loopFolder & p1 = pasta
  • ? cmd = aleatório
  • ? cmd = eq & p1 = tipo
  • ? cmd = dispositivo & p1 = tipo
  • ? cmd = configuração & p1 = configuração1 & p2 = configuração2
  • ? cmd = sono
  • ? cmd = reset
  • ? cmd = raw & p1 = cmdcode & p2 = par1 & p3 = par2
  • ? cmd = init

ip / dfPlayerStatus fornece alguns status básicos do player, incluindo a tensão da bateria

Recomendado: