Como Usar o Módulo MP3 Player JQ6500-16P

O JQ6500 é um CI cuja função é decodificar arquivos MP3. Existem duas variantes de módulos que utilizam este chip: uma delas é o JQ6500-28P, que usa cartão de memória para armazenar arquivos, e a outra é o JQ6500-16P, que abordaremos neste tutorial.

O grande diferencial do módulo JQ6500-16P é que ele possui uma memória flash embutida, não sendo necessária a aquisição de uma mídia de armazenamento externa, além de ser compacto e possuir um funcionamento bastante simples. Assim como outros módulos reprodutores de MP3, ele pode ser ligado de forma independente ou operado a partir de uma placa microcontrolada como as da família Arduino.

Devido a sua baixa capacidade de armazenamento, este componente não é indicado para usuários que desejam usa-lo para escutar músicas. Ele é mais adequado para projetos que exigem a reprodução de efeitos sonoros ou frases curtas, como a criação de brinquedos e animatronics.

Este módulo já possui incluso alguns arquivos de áudio que podem ser utilizados para testa-lo antes de fazer upload de seus arquivos próprios.

Componentes Necessários

Para seguir este tutorial, você precisará dos seguintes itens:

Memória Flash

Antes de enviar arquivos para o módulo, verifique qual é a sua capacidade de armazenamento para evitar erros causados por arquivos de tamanho excessivo.

A capacidade do módulo pode ser lida em sua memória flash – o chip quadrado que se encontra embaixo da placa – como ilustrado na seguinte imagem:

Imagem 1 – Localização da memória Flash

O número “25” indica que este é um chip do tipo Serial Flash. Os dois ou três números após a letra “L” (ou “Q” em alguns modelos) indicarão a capacidade da memória em Megabits. Este valor pode ser 8Mbit (1 MB), 16Mbit (2 MB), 32Mbit (4 MB), 64Mbit (8 MB) ou 128Mbit (16 MB). No exemplo acima, temos uma memória de 64Mbits.

Upload de Arquivos

O upload de arquivos para o módulo é feito por USB sem precisar conectar mais nada à placa. Versões mais antigas da placa (de cor verde) possuem um conector Mini USB, mas as versão V2.1, mais recente (de cor azul), possui um conector Micro USB.

Software MusicDownload

Ao ligar o módulo ao seu computador, será aberto automaticamente um programa chamado MusicDownload.exe para que você possa selecionar os arquivos que deseja carregar na placa. O módulo será reconhecido pelo sistema operacional como uma nova unidade de CD.

Imagem 2 – Módulo conectado ao computador

Tanto o software quanto o datasheet original do módulo se encontram em chinês, mas é possível encontrar versões traduzidas online. Na versão traduzida para inglês, que usamos na criação desta postagem, a disposição dos botões e abas continua a mesma da original, então se você possui o programa em chinês, basta seguir estes passos.

Imagem 3 – Tela inicial do MusicDownload

Com o programa aberto na tela inicial, clique na segunda aba, chamada “FILES.”

Imagem 4 – Aba “Files” aberta

Com esta aba aberta, você verá um botão no lado direito da tela. Ele abrirá uma nova janela para que você navegue pelas pastas de seu computador e selecione os arquivos de áudio que deseja enviar para o módulo.

A memória flash é reescrita a cada upload, então caso queira apenas acrescentar um arquivo aos já existentes no módulo, será necessário selecionar também todos os arquivos já enviados anteriormente.

Os arquivos selecionados ficarão listados nesta aba como mostrado na imagem abaixo:

Imagem 5 – Arquivos selecionados

Agora vamos retornar à aba “FLASH.” Abaixo do título “JQ6500 Update tool” há um botão com a palavra “Flash.” Clique nele para iniciar o upload dos arquivos.

Imagem 6 – Upload em progresso

Caso o envio de arquivos ocorra sem erros, será mostrada a mensagem “Ready….”

Imagem 7 – Upload feito com sucesso

Pinagem

Os pinos do módulo JQ6500-16P são dispostos da seguinte maneira:

Imagem 8 – Pinos do módulo JQ6500-16P

Onde:

Imagem 9 – Pinos do módulo JQ6500-16P

Ligação

Como mencionado no início desta postagem, o módulo pode ser controlado de forma independente, não sendo necessário estar ligado a uma placa Arduino. Isso é feito com a adição de botões ao circuito. Os pinos serão adicionados quando estiverem em estado lógico baixo, por isso devemos ligar uma extremidade dos botões ao pino e outra ao GND de sua fonte de alimentação, que pode ser de 3,5V a 5V.

Pinos – Funções

O pino ADKEY permite que o módulo receba instruções de diversos botões através de um único pino. Estas instruções são diferenciadas pela tensão enviada ao pino quando cada botão é pressionado. Sendo assim, devemos ligar cada botão a um resistor de valor diferente como ilustrada na imagem abaixo encontrada no site da Gogo:Tronics:

Imagem 10 – Controle do módulo JQ6500-16P através do pino ADKEY

Os cinco botões superiores correspondem à funcionalidade dos pinos K1 a K5. Eles são atalhos para reproduzir os 5 primeiros arquivos na memória, com cada botão correspondendo a um único arquivo.

Caso existam mais de 5 arquivos armazenados no módulo, os arquivos subsequentes só poderão ser acessados através dos pinos PRV e NXT. Note que estes dois são responsáveis também pela função de diminuir e aumentar o volume do áudio. Para trocar de áudio, você deve apenas pressionar o botão e solta-lo em seguida, mas se quiser alterar o volume, deve continuar segurando o botão até que a alteração seja feita.

O botão PLAY, como o nome sugere, pode ser utilizado para reproduzir sons, mas também serve para pausar a reprodução.

O pino SRC é exclusivo do modelo JQ6500-28P, não existindo no modelo que estamos usando neste tutorial.

Outra maneira de ligar o módulo JQ6500 é conectar um botão a cada pino, não tendo necessidade de usar resistores. Com o exemplo ilustrado abaixo podemos tocar os 5 primeiros arquivos armazenados no módulo:

Imagem 11 – Controle do módulo JQ6500-16P com os pinos K1-K5

 

Controle com Arduino

O módulo JQ6500 pode ser controlado pelo Arduino através dos pinos de comunicação serial. Para facilitar este processo, já existe uma biblioteca disponível no GitHub que pode ser baixada aqui: https://github.com/sleemanj/JQ6500_Serial

Por padrão, a biblioteca utiliza os pinos 8 e 9 do Arduino para se comunicar com o módulo. É importante que seja ligado um resistor de 1K entre o pino 9 do Arduino e o pino RX do módulo pois este pino só suporta tensões até 3,3V.

Quando o módulo está reproduzindo áudio, seu pino BUSY tem uma saída de 2,4 a 2,7V. Em repouso, sua saída será 0V. Vamos liga-lo a um pino analógico (A0) do Arduino para verificar seu estado pois estas tensões não são suficientes para fazer uma leitura através de um pino digital, podendo receber falsos negativos quando o módulo está de fato tocando.

Por último, vamos ligar um alto falante de 8 Ohms aos pinos SPK- e SPK+.

Imagem 12 – Ligação do Módulo JQ6500 ao Arduino

O seguinte código foi modificado a partir do exemplo “HelloWorld” da biblioteca para incluir também a leitura do pino BUSY:

Este código demonstra o funcionamento das funções básicas da biblioteca tocando em loop todos os arquivos do módulo.

Atenção!

É bastante comum que as versões de 16MBits e 32MBits (principalmente esta última) do módulo JQ6500 venham sem o programa MusicDownload instalado. Isso inutiliza o módulo, mas não significa que ele não possa ser salvo!

Para resolver este problema, um desenvolvedor chamado Nikolai Radke criou uma ferramenta para instalar o software (traduzido em inglês!) nestas placas. Ela está disponível no GitHub em versões para Windows e Linux: https://github.com/NikolaiRadke/JQ6500-rescue-tool

Uma versão executável para Windows compilado por Nikolai Radke também está disponível no site da Gogo:Tronics. Com isso, o software pode ser executado diretamente de seu computador sem precisar gravá-lo no módulo. Ele pode ser baixado aqui.

Gostou? Deixe seu comentário logo abaixo, não deixe de conferir outras postagens do nosso blog. Confira também a nossa loja virtual encontre todos os componentes utilizados no projeto no post.

Gabriel Martins de Freitas

Graduando em Sistemas e Mídias Digitais. Tenho experiência com Arduino e ESP8266. Atualmente compartilhando meu conhecimento no blog da Smart Kits.

Post navigation

Deixe um Comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

ESP8266 – Como Programar o NodeMCU Através da Arduino IDE

Usando Múltiplos Sensores de Distância Laser VL53L0X

ESP8266/32 – Programação sem fio (OTA)