Grabación y reproducción automáticas de voz
Componentes y suministros
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 6 |
Acerca de este proyecto
¡La idea detrás de esto!
Estaba haciendo malabarismos con Internet para encontrar dispositivos que graben voz y la reproduzcan de nuevo. Descubrí ISD1820, que es muy razonable (solo 3 $), y puede grabar sonido solo usando algunos rec. y botón de reproducción. Necesito controlar este dispositivo usando Arduino, me refiero a grabar y reproducir voz solo a través de Arduino.
Este proyecto es solo para principiantes y para aquellos que quieran aprender sobre el funcionamiento de ISD1820 con Arduino, pero puede extenderlo a un sentido muy amplio.
Visite www.gadgetprogrammers.online para obtener una descripción completa y nuevas ideas.
¡Cómo funciona!
En primer lugar, solo grabamos voz a través de ISD1820, que puede grabar 20 segundos por una vez (también puede almacenar voz en la tarjeta SD), y puede reproducirla una y otra vez. así que aquí estamos grabando voz cuando el usuario presiona 'r' en el monitor serial y la reproducimos cuando el usuario presiona 'p' en el monitor serial.
Así que este fue todo el funcionamiento de nuestro sistema
.


A continuación se muestra el funcionamiento de los pines (puede omitirlo):
- VCC– Fuente de alimentación de 3.3V
- GND– Conexión a tierra
- REC:la entrada REC es una señal de grabación ALTA activa. El módulo comienza a grabar siempre que REC está 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, activado por borde:cuando se detecta una transición ALTA, 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, activado por nivel, cuando este nivel de pin de entrada pasa de BAJO a ALTO, se inicia un ciclo de reproducción.
- Salidas de altavoz:los pines SP + y SP‐ proporcionan transmisión directa para altavoces con impedancias tan bajas como 8Ω.
- MIC:entrada de micrófono, la entrada de micrófono transfiere sus señales al preamplificador integrado en el chip.
- FT - Feed Through:este modo permite que el micrófono controle el altavoz directamente.
- P ‐ E:reproduce los registros sin cesar.
¡Hagámoslo!
Conéctese como se indica a continuación:
- VCC => Arduino 5v
- GND => Arduino GND
- FT => Pin 5 de Arduino
- Reproducir L (PL) => Pin 4 de Arduino
- PLAY_E (P-E) => Pin 3 de Arduino
- REC => Pin 2 de Arduino
Después del pinout anterior, cargue el código SAMPLE1:
EJEMPLO 1:SI DESEA QUE EL USUARIO DECIDA GRABAR LA VOZ
EJEMPLO 2:GRABAR VOZ AUTOMÁTICAMENTE DURANTE 3 SEGUNDOS Y REPRODUCIR DURANTE 5 SEGUNDOS.
Muestra 1:
/ ** ISD1820 Arduino Voice Recorder * para grabar y reproducir sonido usando Arduino e ISD1820 Sound Recorder * obtenga este código de https://www.gadgetprogrammers.online/** ISD1820 Arduino Voice Recorder * Código escrito por Anshul Pareek con fines educativos * el 6 de junio de 2018 a las 11:20 pm, * / # define REC 2 // pin 2 se usa para grabar # define PLAY_E 3 // pin 3 se usa para el disparador de borde de reproducción # define FT 5 // el pin 5 se usa para pasar // y NO grabará # define playTime 5000 // tiempo de reproducción 5 segundos # define recordTime 3000 // tiempo de grabación 3 segundos puede extender el tiempo hasta 10 segundosvoid setup () {pinMode ( REC, OUTPUT); // establece el pin REC como pinMode de salida (PLAY_E, OUTPUT); // establece el pin PLAY_e como pinMode de salida (FT, OUTPUT); // establece el pin FT como salida Serial.begin (9600); // configurar el monitor Serial} void loop () {while (Serial.available ()> 0) {char inChar =(char) Serial.read (); if (inChar =='p' || inChar =='P') {digitalWrite (PLAY_E, HIGH); retraso (50); digitalWrite (REPRODUCIR_E, BAJO); Serial.println ("Playbak iniciado"); delay (playTime); Serial.println ("Playbak finalizado"); descanso; } más si (inChar =='r' || inChar =='R') {digitalWrite (REC, HIGH); Serial.println ("Grabación iniciada"); retraso (recordTime); escritura digital (REC, BAJA); Serial.println ("Grabación detenida"); } Serial.println ("### Monitor serial salido"); } // wihileSerial.println ("### Enter r para grabar, p para reproducir"); retraso (500);}
Muestra 2:
#define REC 2 // el pin 2 se usa para la grabación # define PLAY_E 3 // el pin 3 se usa para el disparo del borde de reproducción // cuando PLAY_E pasa a HIGH, el dispositivo reproducirá INICIO y continúa # define FT 5 / / pin 5 se usa para pasar # define playTime 5000 // tiempo de reproducción 5 segundos # define recordTime 3000 // tiempo de grabación 3 segundos # define playLTime 900 // presiona y suelta el tiempo de reproducción 0.9 segundosvoid setup () {pinMode (REC, OUTPUT ); // establece el pin REC como salida pinMode (PLAY_E, OUTPUT); // establece el pin PLAY_e como salida pinMode (FT, OUTPUT); // establece el pin FT como salida Serial.begin (9600); // establece arriba Monitor serial} bucle void () {digitalWrite (REC, HIGH); retraso (recordTime); escritura digital (REC, BAJA); digitalWrite (REPRODUCIR_E, ALTA); retraso (50); digitalWrite (REPRODUCIR_E, BAJO); delay (playTime); retraso (500);}
¡Así que ahora ha construido todo el sistema, apresurarse!
ALCANCE FUTURO:
Tú puede grabe la voz y guárdela en la tarjeta SD para fines futuros y puede crear un walkie talkie y más ... según su imaginación :)
Si te gusta, comparte ....... :)
Visítenos y promocione para que podamos construir nuevos proyectos para usted www.gadgetprogrammers.online
Código
- muestra 1
- MUESTRA 2
muestra 1 Arduino
POR FAVOR PEGUE ESTE CÓDIGO EN ARDUINO Y EJECUTE DESPUÉS DE LA CONEXIÓN CONSTRUIDA./ ** ISD1820 Arduino Voice Recorder * para grabar y reproducir sonido usando Arduino e ISD1820 Sound Recorder * obtenga este código de https://www.gadgetprogrammers.online/* * ISD1820 Arduino Voice Recorder * Código escrito por Anshul Pareek con fines educativos * el 6 de junio de 2018 a las 11:20 pm, * / # define REC 2 // pin 2 se usa para grabar # define PLAY_E 3 // pin 3 se usa para el disparador de borde de reproducción # define FT 5 // el pin 5 se usa para pasar // y NO grabará # define playTime 5000 // tiempo de reproducción 5 segundos # define recordTime 3000 // tiempo de grabación 3 segundos puede extender el tiempo hasta 10 segundosvoid setup () {pinMode (REC, OUTPUT); // establece el pin REC como pinMode de salida (PLAY_E, OUTPUT); // establece el pin PLAY_e como pinMode de salida (FT, OUTPUT); // establece el pin FT como salida Serial.begin (9600); // configurar el monitor Serial} void loop () {while (Serial.available ()> 0) {char inChar =(char) Serial.read (); if (inChar =='p' || inChar =='P') {digitalWrite (PLAY_E, HIGH); retraso (50); digitalWrite (REPRODUCIR_E, BAJO); Serial.println ("Playbak iniciado"); delay (playTime); Serial.println ("Playbak finalizado"); descanso; } más si (inChar =='r' || inChar =='R') {digitalWrite (REC, HIGH); Serial.println ("Grabación iniciada"); retraso (recordTime); escritura digital (REC, BAJA); Serial.println ("Grabación detenida"); } Serial.println ("### Monitor serial salido"); } // wihileSerial.println ("### Enter r para grabar, p para reproducir"); retraso (500);}
MUESTRA 2 Arduino
Grabe voz de forma continua durante 3 segundos. y reproducir durante 5 segundos#define REC 2 // el pin 2 se usa para la grabación # define PLAY_E 3 // el pin 3 se usa para el disparo del borde de reproducción // cuando PLAY_E pasa a HIGH, el dispositivo reproducirá EMPIEZA y continúa # define FT 5 // pin 5 se usa para pasar # define playTime 5000 // tiempo de reproducción 5 segundos # define recordTime 3000 // tiempo de grabación 3 segundos # define playLTime 900 // presiona y suelta el tiempo de reproducción 0.9 segundosvoid setup () {pinMode (REC , OUTPUT); // establece el pin REC como salida pinMode (PLAY_E, OUTPUT); // establece el pin PLAY_e como salida pinMode (FT, OUTPUT); // establece el pin FT como salida Serial.begin (9600); / / configurar el monitor en serie} void loop () {digitalWrite (REC, HIGH); retraso (recordTime); escritura digital (REC, BAJA); digitalWrite (REPRODUCIR_E, ALTA); retraso (50); digitalWrite (REPRODUCIR_E, BAJO); delay (playTime); retraso (500);}
Esquemas


Proceso de manufactura
- Canal y esclusa
- Arco y flecha
- Registro LP
- Scratch and Sniff
- Mantequilla y margarina
- Movilidad de fabricación:datos, voz, video y ubicación
- Algoritmos y aumento de potencia del hardware del control por voz
- Monitor de calidad del aire y medio ambiente de bricolaje
- Bricolaje:Regulación y monitoreo de temperatura para HomeBrew
- Controlador de guante barato y coche de hélice para bricolaje
- Four Ways Warehouse Voice Apps protege las órdenes y los trabajadores