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.

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
| Fabricante | ISD1820 |
|---|---|
| Número da peça | ISD1820 |
| Tensão lógica/E/S | 3.3 V típ. |
| Tensão de alimentação | 3.0 V a 4.5 V |
| Corrente de repouso | 0.5 µA típico |
| Corrente de operação | 30 mA máx. |
| Tempo de gravação | 20 s máx. |
| Tempo de reprodução | 20 seg máx. |
| Pacote | DIP 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

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 playbackNa 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).
Coisas que você pode precisar
-
Amazonas
-
eBayGravador de Voz ISD1820 do eBayebay.us
-
AliExpressGravador de Voz ISD1820 da AliExpresss.click.aliexpress.com
Recursos e referências
Ainda não há recursos.
Arquivos📁
Arquivo Fritzing
-
Módulo gravador de voz ISD1820
ISD1820-module.fzpz0.01 MB