Módulo de grabación de Voz Sonido ISD1820 con Parlante
Publicado por Victor Arrieta en
Hoy les queremos mostrar el funcionamiento del módulo de grabación de voz y sonidos ISD1820, puedes grabar pequeños fragmentos de audio y reproducirlos, lo puedes instalar en muñecos, maniquíes, cajas, etc donde quieras reproducir cierto sonido después de alguna acción determinada por ejemplo la apertura de una puerta, la detección de un objeto o simplemente al presionar un botón.
Posee un pre-amplificador para micrófono del tipo Electret, y una etapa de salida para un parlante pequeño en 8 ohms.
La tensión de alimentación va de 3.3V a 5V.
El tiempo de grabación es de hasta 20 segundos, esto es algo a tener en cuenta ya que el integrado posee una resistencia de oscilación (ROSC) que sera la encargada de marcar la frecuencia de muestro, es decir a mayor muestreo, mayor calidad de sonido pero menor tiempo de grabación.
La forma de modificar este muestreo es cambiando el valor de la resistencia de oscilación, en el datasheet nos da una serie de valores como para configurar el integrado a distintas velocidades. La resistencia ROSC por defecto es 100k lo que equivale a una grabación de 10 segundos, a continuación se muestra la tabla con algunos valores de ROSC:
- Fuente de alimentación VCC– 3.3V
- GND– Tierra de potencia
- REC - La entrada REC es una señal de grabación activa-ALTA. El módulo comienza a grabar cuando REC está en ALTO. Este pin debe permanecer ALTO durante la grabación. REC tiene prioridad sobre la señal de reproducción (PLAYL o PLAYE).
- REPRODUCIR - Reproducción, activada por señal: cuando se detecta una transición ALTA en curso continúa hasta que se encuentra un marcador de fin de mensaje (EOM) o se alcanza el final del espacio de memoria.
- PLAYL - Reproducción, Nivel activado, cuando el nivel de este pin de entrada transita de BAJO a ALTO, se inicia un ciclo de reproducción.
- Salidas de altavoces: los pines SP + y SP-proporcionan una señal directa para altavoces con impedancia tan bajas como 8Ω.
- MIC - Entrada de micrófono, la entrada de micrófono transfiere sus señales al preamplificador en chip.
- FT - Feed Through: este modo permite que el micrófono controle el altavoz directamente.
- P ‐ E - Reproduce los discos sin fin.
Guía de operación de grabación
- Presione el botón REC y luego REC-LED se iluminará y continuará presionando hasta que finalice la grabación.
- Suelte el botón REC
- Seleccione el modo de reproducción:
- REPRODUCIR, solo necesita presionar una vez y reproducirá toda la grabación y se apagará;
- PLAYL Playback, Level-activated (Reproducción activada por nivel): si el módulo detecta la señal de BAJA a ALTA en este pin, se inicia un ciclo de reproducción. La reproducción continúa hasta que PLAYL se pone a BAJO o se detecta un marcador de fin de mensaje (EOM), o se alcanza el final del espacio de memoria. El dispositivo se apaga automáticamente al modo de espera al finalizar el ciclo de reproducción.
se reproducirá una vez hasta que el puente se apague o se apague - PLAYE Playback, Edge-activated (Reproducción acticada por borde) si el módulo detecta la señal ALTA en el pin, entonces el dispositivo inicia el ciclo de reproducción. El ciclo de reproducción continúa hasta que se encuentra un marcador de fin de mensaje (EOM) o se alcanza el final del espacio de memoria. Una vez completado el ciclo de reproducción, el dispositivo se apaga automáticamente y entra en modo de espera.
- Modo FT, cuando el puente FT corto, eso significa que todos ustedes hablan al MIC dirigirá la reproducción al altavoz.
El módulo de reproducción y grabadora de voz basado en ISD1820 se puede controlar fácilmente utilizando cualquier microcontrolador como PIC, Arduino, etc. a través de tres pines de comunicación de E/S digitales.
Controlar el módulo ISD1820 utilizando un Arduino y reproducir el sonido cuando se active un sensor de movimiento PIR:
Materiales Necesarios
- Arduino (Uno, Nano, etc.)
- Módulo ISD1820
- Sensor de movimiento PIR
- Cables de conexión
- Protoboard (opcional)
Conexiones
-
Conectar el PIR al Arduino:
- VCC del PIR a 5V del Arduino
- GND del PIR a GND del Arduino
- OUT del PIR a un pin digital del Arduino (por ejemplo, el pin 2)
-
Conectar el ISD1820 al Arduino:
- VCC del ISD1820 a 5V del Arduino
- GND del ISD1820 a GND del Arduino
- Pin P-E (Play Edge) del ISD1820 a un pin digital del Arduino (por ejemplo, el pin 3)
Código Arduino
// Definimos los pines
const int pirPin = 2; // Pin del sensor PIR
const int playPin = 3; // Pin del módulo ISD1820
void setup() {
// Configuramos los pines
pinMode(pirPin, INPUT);
pinMode(playPin, OUTPUT);
digitalWrite(playPin, LOW); // Aseguramos que el pin de reproducción esté inicialmente bajo
Serial.begin(9600); // Inicializamos la comunicación serial para depuración
}
void loop() {
int pirState = digitalRead(pirPin); // Leemos el estado del sensor PIR
if (pirState == HIGH) { // Si se detecta movimiento
Serial.println("Movimiento detectado! Reproduciendo sonido...");
digitalWrite(playPin, HIGH); // Activamos la reproducción del sonido
delay(100); // Pequeña pausa para asegurar que el pulso se registre
digitalWrite(playPin, LOW); // Apagamos el pin de reproducción
// Esperamos un tiempo para evitar múltiples activaciones rápidas
delay(1000); // Puedes ajustar este tiempo según tus necesidades
}
}
Explicación del Código
- Definición de pines: Se definen los pines para el sensor PIR y el módulo ISD1820.
-
Configuración de pines en
setup
: Se configuran los pines como entrada (PIR) y salida (ISD1820). -
Bucle principal
loop
: Se lee el estado del sensor PIR. Si se detecta movimiento, se envía un pulso al pin de reproducción del ISD1820 para que se reproduzca el sonido. Luego, se espera un tiempo para evitar activaciones múltiples seguidas.
Ajustes
- Sensibilidad del PIR: La mayoría de los sensores PIR tienen potenciómetros ajustables para la sensibilidad y el tiempo de retención.
-
Duración del Pulso: Puedes ajustar el
delay(100)
para asegurarte de que el módulo ISD1820 registre correctamente el pulso de reproducción.
Al subir el código deberías poder reproducir un sonido grabado en el módulo ISD1820 cada vez que el sensor PIR detecte movimiento.
Nota: Graba tu sonido previamente con el botón REC