Índice:

Gravador de voz Arduino Nano com microfone MAX9814: 3 etapas
Gravador de voz Arduino Nano com microfone MAX9814: 3 etapas

Vídeo: Gravador de voz Arduino Nano com microfone MAX9814: 3 etapas

Vídeo: Gravador de voz Arduino Nano com microfone MAX9814: 3 etapas
Vídeo: Aula 09 - Como usar o microfone e gravar Áudio na Raspberry Pi? - Curso Gratuito do Robô com IA 2024, Julho
Anonim
Gravador de voz Arduino Nano com microfone MAX9814
Gravador de voz Arduino Nano com microfone MAX9814
Gravador de voz Arduino Nano com microfone MAX9814
Gravador de voz Arduino Nano com microfone MAX9814
Gravador de voz Arduino Nano com microfone MAX9814
Gravador de voz Arduino Nano com microfone MAX9814

Eu recebi um microfone MAX9814 da entrega AZ na Amazon e queria testar o dispositivo. Portanto, criei este projeto simples baseado no Spy Bug do Great Scott (publicado sob esta licença creative commons). Modifiquei um pouco a estrutura do projeto para melhorar a eficiência e adicionar alguns novos recursos. Este é meu primeiro projeto Instructables, então não será perfeito, mas estou disposto a aprender e aberto a conselhos.

Os resultados do teste do microfone com ganhos diferentes são adicionados no final, então se você quiser apenas comparar a qualidade de ganhos de 40dB, 50dB e 60dB, você pode pular para lá.

Espero que este projeto seja útil para pessoas que estão tentando implementar um microfone em seu projeto. Também espero tornar este projeto o mais acessível possível para iniciantes, então adicionei muitos comentários ao meu código, mas também estou feliz em revisar meu trabalho para adicionar qualquer esclarecimento extra que possa ser útil. A fiação é muito amigável para iniciantes, mas a implementação do software é um pouco mais complicada.

Visualize todos os arquivos do projeto e sugira melhorias para o meu código no meu repositório GitHub.

Suprimentos:

Amazonas:

  • Microfone MAX9814 com amplificador
  • Tábua de pão
  • Arduino Nano (é um pacote de 3, mas você só precisava de um!)
  • Leitor de cartão SD
  • LEDs
  • Resistores
  • Botões táteis
  • Mini cabo USB B (para Arduino Nano)
  • Banco de energia USB (usei um barato, comprado localmente)

Etapa 1: Circuito e explicação do dispositivo

Circuito e explicação do dispositivo
Circuito e explicação do dispositivo

Eu personalize meu circuito para funcionar com o dispositivo Arduino Nano, mas você pode executar seu circuito em diferentes dispositivos Arduino editando os números dos pinos no topo do meu código (próxima seção). Para configurar o circuito em seu dispositivo, pesquise "Arduino [seu modelo] pinagem" e deve haver muitas imagens que ilustram quais funções cada pino pode executar (por exemplo, entrada analógica, SS, MOSI etc.). A maioria dos dispositivos também vem com pinos etiquetados. Desenhei este esquema usando o editor EasyEDA, mas o criei usando uma placa de ensaio sem solda, pois queria criar isso o mais rápido possível e reconfigurar rapidamente o layout.

Etapa 2: Programação

Programação
Programação

Eu escrevi um código simples para gravar o áudio no dispositivo. Usei o código de Great Scott como inspiração, mas mudei a estrutura para aumentar a eficiência e a simplicidade. Também removi as restrições sobre o número de arquivos que poderiam ser gravados e adicionei mais comentários que devem ajudar os iniciantes a navegar. Baixe o código finalizado abaixo e abra-o usando o IDE do Arduino. Baixe os módulos necessários ("SD.h”, "SPI.h" e "TMRpcm.h") usando o gerenciador de pacotes Arduino (mostrado nas imagens acima).

Gravar em um arquivo WAV em um cartão SD é um recurso avançado da biblioteca TMRpcm, portanto, para usá-lo, você deve editar o arquivo de configuração da biblioteca. Embora isso pareça assustador (pelo menos para mim), ele está apenas procurando pelo arquivo "pcmConfig.h" usando o explorador de arquivos e removendo o comentário de algumas linhas de código (em seguida, salvando-o).

  1. Em placas Uno ou não mega, descomente a linha #define buffSize 128
  2. Também descomente #define ENABLE_RECORDING e #define BLOCK_COUNT 10000UL

Depois de concluir o retorno ao IDE do Arduino, conecte o seu Arduino, selecione-o e compile e carregue o programa. Abrir o monitor serial também fornecerá algum feedback durante o tempo de execução.

Etapa 3: Projeto Concluído e Teste

Projeto e teste finalizados
Projeto e teste finalizados

Quando terminei a fiação e a depuração, testei o projeto.

AVISO: reiniciar o dispositivo irá zerar o contador de nome de arquivo, fazendo com que os novos arquivos substituam os arquivos antigos.

Para usar o dispositivo:

  1. conecte um cabo de alimentação USB ao Arduino
  2. pressione o botão tátil para iniciar a gravação (o LED acenderá para indicar isso)
  3. pressione o botão novamente para encerrar a gravação
  4. repita quantas gravações forem necessárias
  5. desconecte o cabo de alimentação USB
  6. Remova o cartão SD
  7. Insira o cartão SD em um computador ou telefone
  8. Abra os arquivos em seu aplicativo de reprodução escolhido

O objetivo inicial deste projeto era testar o microfone MAX9814, então conduzi três testes para descobrir o efeito que seu amplificador embutido tinha no resultado. Ao produzir as gravações, usei uma das sinfonias de Mozart como uma variável de controle. Toquei no alto-falante do meu telefone, que mantive apontado para o microfone a uma distância constante para todas as três gravações. A única variável que mudei foi o ganho do microfone (ajustado conectando-o ao VCC, GND ou deixando-o flutuando). Os clipes de áudio resultantes são anexados. Eu também combinei o áudio de 40dB e 60dB em uma única gravação em que 40dB é tocado no ouvido esquerdo e 60dB é tocado no ouvido direito. Isso torna a diferença na qualidade muito perceptível e destaca a importância do ganho fornecido pelo módulo MAX9814.

No geral, fiquei extremamente satisfeito com os resultados da gravação, especialmente porque a configuração do dispositivo é uma das mais simples, já vi (com apenas três fios e nenhum componente externo - até mesmo um simples LED requer um resistor). Também deve ser levado em consideração que o Arduino Nano possui um ADC de 10 bits, portanto, qualquer leitura de amplitude pode ser apenas um dos 1024 valores discretos. Devido à sua boa qualidade de áudio, tamanho compacto e consumo de energia insignificante; Espero usar o dispositivo em projetos futuros.

Se não tiver entrado em detalhes suficientes, ficaria mais do que feliz em ajudar e acrescentar esclarecimentos adicionais. Este é meu primeiro Instructables, portanto, qualquer conselho que recebo agora pode ser refletido em todos os meus projetos que virão. Se você tiver alguma sugestão para melhorar meus códigos, ficarei feliz em adicioná-los ao meu projeto no GitHub e neste Instructables.

Recomendado: