Código Arduino y vídeo: Grabadora de voz Arduino ISD1820
El ISD1820 es un módulo grabador de voz sencillo que te permite grabar y reproducir audio usando un Arduino. En este tutorial, aprenderás cómo configurar el ISD1820 con un Arduino para grabar hasta 20 segundos de sonido y reproducirlo bajo demanda. Este proyecto es perfecto para principiantes que desean explorar el procesamiento de audio con Arduino.

A lo largo de este tutorial, encontrarás identificadores clave que se usan en el código, comoREC,PLAY_E, yPLAY_L. Estos identificadores corresponden a los pines utilizados para las funciones de grabación y reproducción. Además, los fragmentos de código proporcionados ayudarán a aclarar la lógica de programación detrás de este proyecto. Para una explicación más detallada, asegúrate de ver el video (a 00:00).
Hardware explicado
El componente principal de este proyecto es el módulo grabador de voz ISD1820, que puede grabar audio durante hasta 20 segundos. Cuenta con varios pines para controlar las funciones de grabación, reproducción y paso de audio. El módulo funciona con una tensión de alimentación de 3 V a 4,5 V, lo que lo hace compatible con la mayoría de las placas Arduino.
Además del módulo ISD1820, necesitarás una placa Arduino, un altavoz y un micrófono. El Arduino controlará las funciones de grabación y reproducción a través de pines digitales. El funcionamiento del módulo es sencillo: graba audio cuando el pin de grabación se pone en nivel alto y reproduce audio cuando se activan los pines de reproducción.
Detalles de la ficha técnica
| Fabricante | ISD1820 |
|---|---|
| Número de pieza | ISD1820 |
| Voltaje lógico/E/S | 3.3 V típ. |
| Tensión de alimentación | 3.0 V a 4.5 V |
| Corriente en reposo | 0,5 µA típico. |
| Corriente de funcionamiento | 30 mA máx. |
| Tiempo de grabación | 20 s máx. |
| Tiempo de reproducción | 20 s máx. |
| Paquete | DIP de 8 pines |
- Asegúrese de que la tensión de alimentación esté entre 3.0 V y 4.5 V para evitar dañar el módulo.
- Use resistencias para adaptar la señal de 5V del Arduino al nivel lógico de 3.3V para una conexión segura.
- Supervise el consumo de corriente; el módulo puede consumir hasta 30 mA durante el funcionamiento.
- Conecte un altavoz de baja potencia (0.5 W) a la salida de audio para la reproducción.
- El módulo admite varias duraciones de grabación; ajuste el tiempo según sus necesidades.
Instrucciones de cableado

Para cablear el ISD1820 a tu Arduino, comienza conectando los pines del módulo.VCCconecta el pin a la salida de 3.3V del Arduino. A continuación, conecta elGNDpin del módulo a uno de los pines de tierra del Arduino. Para los pines de control, conecte los pines del móduloRECpin al pin 2 del Arduino,PLAY_Eal pin 3,PLAY_Lal pin 4, yFTal pin 5.
Dado que el Arduino funciona a 5V, necesitará usar un divisor de tensión para conectar de forma segura los pines de control. Por ejemplo, conecte una resistencia de 5 kΩ desde el pin del Arduino hasta el pin de control del módulo, y luego conecte una resistencia de 3.3 kΩ desde el pin de control del módulo a tierra. Repita este proceso para cualquier pin de control adicional para asegurarse de que reciban los niveles de voltaje correctos.
Ejemplos de código y guía paso a paso
El siguiente fragmento de código define los pines utilizados para la grabación y la reproducción. Esto le permite hacer referencia fácilmente a estos pines en su código en lugar de usar valores fijos.
#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 playbackEn la función setup, inicializamos los pines como salidas. Esto garantiza que el Arduino pueda controlar el módulo ISD1820 de manera efectiva.
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
}El bucle principal comprueba la entrada del usuario desde el monitor serie. Dependiendo del carácter recibido, activará las acciones correspondientes, como grabar o reproducir audio.
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 estructura condicional permite un control flexible del ISD1820 basado en la entrada del usuario, facilitando grabar y reproducir audio según sea necesario. Para más detalles, el código completo se encuentra debajo del artículo.
Demostración / Qué esperar
Una vez que todo esté configurado y el código esté subido, deberías poder grabar audio enviando elrcomando a través del monitor serie y reproducción usando elpcomando. El comportamiento esperado incluye una respuesta en el monitor serial que indique cuándo comienza y termina la grabación, así como cuándo inicia y finaliza la reproducción. Ten en cuenta el tiempo establecido en el código; por ejemplo, la grabación está configurada por 3 segundos y la reproducción por 5 segundos (en el video a 05:00).
Cosas que podrías necesitar
-
Amazonas
-
eBayGrabadora de voz ISD1820 de eBayebay.us
-
AliExpressGrabadora de voz ISD1820 de AliExpresss.click.aliexpress.com
Recursos y referencias
Aún no hay recursos.
Archivos📁
Archivo de Fritzing
-
Módulo grabador de voz ISD1820
ISD1820-module.fzpz0.01 MB