Você já pensou em criar uma caixa de som utilizando o df player mini com Arduino e controlada através de gestos? Se já pensou, acredite, pois é possível! Nesse artigo você vai aprender a criar sua caixa musical controlada pelo Sensor de Gestos APDS9960 e montar o seu projeto com o DFPlayer Mini.
Em época de pandemia, como a que estamos passando, projetos que permitam acionar mecanismos sem toque estão em alta, evitando toques físicos desnecessários. Já pensou em controlar seu Módulo MP3 Arduino somente por meio de gestos, passando músicas, retornando ou mesmo fazendo ajustes de volume?
Esse projeto permite a você controlar suas músicas através de 4 tipos de gestos: movimento para esquerda, direita, cima e baixo. Cada gesto realizará um controle diferente na execução musical.
Dessa forma, com esse artigo você aprenderá a utilizar o Módulo MP3 DFPlayer Mini, configurar a comunicação com o sensor de gestos APDS9960 e ainda criar sua caixa musical com a união dos vários dispositivos de MP3 e sensor de um modo rápido e prático.
Produtos Necessários para Desenvolver o Projeto com Sensor de Gestos APDS9960
Para garantir esses resultados você precisará dos seguintes elementos eletrônicos na nossa loja:
- Protoboard;
- Jumpers;
- Arduino Nano;
- Resistor 330R;
- Módulo DFPlayer Mini;
- Módulo sensor de gestos APDS9960;
- Speaker.
Esquemático do Projeto com Sensor de Gestos APDS9960
A seguir, apresentaremos a estrutura do circuito eletrônico do player de som controlado por gestos.
Esse circuito é dividido em três partes importantes: o sensor de gestos, o Arduino NANO e o DFPlayer Mini. Cada dispositivo será fundamental na aplicação.
O Arduino Nano é o responsável por realizar a leitura e processamento do gesto realizado com o sensor APDS9960. Após o processamento e reconhecimento do gesto, o Arduino enviará um comando para o DFPlayer Mini com Arduino. O Arduino poderá enviar 4 comandos possíveis: avançar música, retroceder música, aumentar ou baixar o volume.
O circuito da protoboard é apresentado a seguir.
Agora, vou te apresentar a programação completa para desenvolver esse projeto.
Desenvolvimento e discussão da Lógica de Programação do Projeto Sensor de Gestos APDS9960
A lógica do projeto é apresentada abaixo e possui um funcionamento muito simples. Primeiramente, foram declaradas as bibliotecas de uso dos dispositivos e funcionalidades utilizadas: comunicação serial, df player mini com arduino e Sensor de Gestos APDS9960, conforme apresentadas nas linhas 1 a 3.
[crayon-6741db27ecf2c310604240/]
Após isso, foram criados os objetos apds e myDFPlayer. Esses objetos serão utilizados para manipulação das funções ao longo do código.
[crayon-6741db27ecf31523324060/]
Depois da declaração dos objetos, configuramos os pinos para comunicação serial e declaração das variáveis utilizadas.
[crayon-6741db27ecf32377364396/]
Finalmente, entramos na função setup.
Configurando e inicializando os dispositivos – Função void setup
Nessa função faremos todas as configurações iniciais e que serão necessárias para o funcionamento do nosso projeto.
[crayon-6741db27ecf33317708151/]
Primeiramente, inicializamos as comunicações seriais e enviamos a mensagem de verificação de funcionamento do módulo DFPlayer Mini para o monitor serial. A porção de código é apresentada a seguir.
[crayon-6741db27ecf34326408010/]
Após isso, realizamos a verificação de inicialização do módulo df player mini com arduino. Caso não seja inicializado corretamente, ele apresentará a mensagem “Nao inicializado” e apresentará outra mensagem para verificar as conexões do módulo e reiniciar o df player mini com arduino.
[crayon-6741db27ecf35161414193/]
Caso esteja tudo correto, o módulo será inicializado e apresentará a mensagem “Modulo DFPlayer Mini inicializado!”. Após isso, o módulo será configurado com volume igual a 5 e sistema com equalização normal.
[crayon-6741db27ecf36708868986/]
Depois disso, temos a inicialização do sensor de gestos APDS9960. A primeira condição é utilizada para verificar se o sensor foi inicializado corretamente. Caso ocorra algum problema, o fluxo de código entrará na condição e apresentará a mensagem “Falha ao iniciar o dispositivo. Verifique as conexões!”. Caso contrário, será apresentada a mensagem “Dispositivo inicializado!”.
Por fim, temos a configuração de funcionamento do sensor de gestos quando ele detectar algo próximo. A porção de código é apresentada a seguir.
[crayon-6741db27ecf37628052424/]
Em seguida, entraremos na função void loop.
A lógica principal na função void loop
Nessa função será implementado o processo de leitura do sensor de gestos. O sensor de gestos é o módulo de cor roxa, que é apresentado na figura abaixo.
A seguir, temos o código completo, que foi implementado na função void loop.
[crayon-6741db27ecf38803733554/]
A primeira coisa que você deve fazer na função void loop é realizar a leitura do gesto realizado pelo usuário. De acordo com o gesto será retornado um valor para a variável gesture.
[crayon-6741db27ecf39912085037/]
Após realizar a leitura você deve verificar qual foi o gesto realizado pelo seu usuário. Isso é realizado através das 4 condições de teste que foram implementadas no código.
A primeira condição verifica se o gesto foi um movimento para cima. Caso seja verdade, o fluxo de código entrará na condição e aumentará o volume. A porção de código é apresentada abaixo.
[crayon-6741db27ecf3a183763579/]
A segunda condição verifica se o gesto realizado foi um movimento para a esquerda. Caso seja verdadeiro, será executada a seguinte porção de código apresentada a seguir e o programa voltará para a faixa musical anterior.
[crayon-6741db27ecf3b295332725/]
Finalmente, temos as duas últimas condições. Uma verificará se o gesto é um movimento para a direita (avançar para a próxima trilha sonora) e a outra verificará se o movimento é para baixo (Reduzir volume musical). A porção de código é apresentada a seguir.
[crayon-6741db27ecf3c063455715/]
Agora, você aprenderá o processo para armazenar os arquivos MP3 no seu SD Card.
Processo de armazenamento das músicas no SD Card
O processo de armazenamento precisa seguir uma organização dos arquivos, para que as músicas/sons sejam executados normalmente. A primeira coisa que você deve fazer é criar uma pasta e colocar cada música dentro dela.
Em seguida, enumere as faixas da forma como está sendo apresentado na figura abaixo. Cada música deve ter um número e deve iniciar a contagem a partir do valor 01.
Dessa forma, sempre que o botão para avançar ou retroceder for pressionado, será feito o avanço ou retorno com base nos números das músicas da pasta.
Após isso, insira o cartão no módulo DFPlayer Mini e alimente o seu projeto com a fonte de alimentação. Pronto! Divirta-se com uma boa música.
Conclusão
Por meio do Sensor de Gestos APDS9960 Controlando o MP3 Arduino sem Contato é possível compreender o funcionamento de controle de volume e faixas musicais. Por meio dessa aplicação, você pode desenvolver, por exemplo, uma caixa musical com Arduino para que o usuário não tenha contato com botões físicos e utilize uma interface de controle mais simples.
Além disso, como sugestão, você pode desenvolver vários tipos de projetos interessantes. Entre eles, você pode desenvolver um sistema de voz para auxiliar um usuário a manipular as funções de um sistema de uma determinada máquina. Isso é comum em máquinas de bancos e máquinas de acesso a estacionamentos de shoppings.