Código e vídeo para Arduino: Gravador de voz ISD1820

Código e vídeo para Arduino: Gravador de voz ISD1820

O ISD1820 é um módulo gravador de voz simples que permite gravar e reproduzir áudio usando um Arduino. Neste tutorial, você aprenderá como configurar o ISD1820 com um Arduino para gravar até 20 segundos de som e reproduzi-lo sob comando. Este projeto é perfeito para iniciantes que desejam explorar processamento de áudio com Arduino.

isd1820 voice recording module

Ao longo deste tutorial, você encontrará identificadores-chave que são usados no código, tais comoREC,PLAY_E, ePLAY_L. Estes identificadores correspondem aos pinos usados para as funções de gravação e reprodução. Além disso, os trechos de código fornecidos ajudarão a esclarecer a lógica de programação por trás deste projeto. Para uma explicação mais detalhada, não deixe de conferir o vídeo em 00:00.

Hardware explicado

O componente principal deste projeto é o módulo gravador de voz ISD1820, que pode gravar áudio por até 20 segundos. Ele possui vários pinos para controlar as funções de gravação, reprodução e passagem de áudio. O módulo opera com uma tensão de alimentação de 3V a 4,5V, tornando-o compatível com a maioria das placas Arduino.

Além do módulo ISD1820, você precisará de uma placa Arduino, um alto-falante e um microfone. O Arduino controlará as funções de gravação e reprodução por meio de pinos digitais. O funcionamento do módulo é simples: ele grava áudio quando o pino de gravação é colocado em nível alto e reproduz áudio quando os pinos de reprodução são ativados.

Detalhes da ficha técnica

FabricanteISD1820
Número da peçaISD1820
Tensão lógica/E/S3.3 V típ.
Tensão de alimentação3.0 V a 4.5 V
Corrente de repouso0.5 µA típico
Corrente de operação30 mA máx.
Tempo de gravação20 s máx.
Tempo de reprodução20 seg máx.
PacoteDIP de 8 pinos

  • Certifique-se de que a tensão de alimentação esteja entre 3.0 V e 4.5 V para evitar danificar o módulo.
  • Use resistores para adaptar o sinal de 5V do Arduino ao nível lógico de 3.3V para uma interface segura.
  • Monitore o consumo de corrente; o módulo pode consumir até 30 mA durante a operação.
  • Conecte um alto-falante de baixa potência (0,5 W) à saída de áudio para reprodução.
  • O módulo suporta várias durações de gravação; ajuste o tempo conforme suas necessidades.

Instruções de fiação

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder

Para ligar o ISD1820 ao seu Arduino, comece conectando o móduloVCCConecte o pino à saída de 3.3V do Arduino. Em seguida, conecte oGNDpino do módulo a um dos pinos de terra do Arduino. Para os pinos de controle, conecte os do móduloRECpino para o pino 2 do Arduino,PLAY_Eao pino 3,PLAY_Lao pino 4, eFTpara o pino 5.

Como o Arduino opera a 5V, você precisará usar um divisor de tensão para conectar com segurança os pinos de controle. Por exemplo, conecte um resistor de 5 kΩ do pino do Arduino ao pino de controle do módulo e, em seguida, conecte um resistor de 3.3 kΩ do pino de controle do módulo ao terra. Repita este processo para quaisquer pinos de controle adicionais para garantir que recebam os níveis de tensão corretos.

Exemplos de Código e Tutorial

O trecho de código a seguir define os pinos usados para gravação e reprodução. Isso permite que você referencie facilmente esses pinos no seu código, em vez de usar valores codificados.

#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 is used for playback-edge trigger
#define PLAY_L 4 // pin 4 is used for playback

Na função setup, inicializamos os pinos como saídas. Isso garante que o Arduino possa controlar o módulo ISD1820 de forma eficaz.

void setup() 
{
  pinMode(REC, OUTPUT); // set the REC pin as output
  pinMode(PLAY_L, OUTPUT); // set the PLAY_L pin as output
  pinMode(PLAY_E, OUTPUT); // set the PLAY_E pin as output
}

O loop principal verifica a entrada do usuário no monitor serial. Dependendo do caractere recebido, ele acionará as ações apropriadas, como gravar ou reproduzir áudio.

void loop() {
  while (Serial.available() > 0) {
    char inChar = (char)Serial.read();
    if (inChar == 'p' || inChar == 'P') {
      digitalWrite(PLAY_E, HIGH); // Start playback
      delay(50);
      digitalWrite(PLAY_E, LOW); // Stop playback
    }
}

Esta estrutura condicional permite um controle flexível do ISD1820 com base na entrada do usuário, facilitando gravar e reproduzir áudio conforme necessário. Para mais detalhes, o código completo está disponível abaixo do artigo.

Demonstração / O que esperar

Depois que tudo estiver configurado e o código for carregado, você deverá conseguir gravar áudio enviando orcomando via o monitor serial e reprodução usando opcomando. O comportamento esperado inclui uma resposta no monitor serial indicando quando a gravação começa e termina, assim como quando a reprodução inicia e termina. Tenha em mente o tempo definido no código; por exemplo, a gravação está definida para 3 segundos e a reprodução para 5 segundos (no vídeo em 05:00).

Imagens

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
72-This is the Arduino code and video: ISD1820 Arduino Voice Recorder
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Ainda não há recursos.

Arquivos📁

Arquivo Fritzing