Tabla de contenido:

Grabador de reproducción con Raspberry Pi: 7 pasos (con imágenes)
Grabador de reproducción con Raspberry Pi: 7 pasos (con imágenes)

Video: Grabador de reproducción con Raspberry Pi: 7 pasos (con imágenes)

Video: Grabador de reproducción con Raspberry Pi: 7 pasos (con imágenes)
Video: 20) Reproducción Automática de Video con Raspberry PI 4 - Aplicación Práctica 2024, Mes de julio
Anonim
Image
Image
Material necesario
Material necesario

Hola a todos, En este instructivo, explico cómo hice una grabadora de reproducción usando Raspberry Pi. El dispositivo es una Raspberry Pi modelo B +, con 7 botones en la parte superior, un altavoz conectado a uno de los puertos USB de Pi y un micrófono conectado a otros puertos USB. Cada botón está asociado a un sonido, por lo que puede reproducir 7 sonidos diferentes. Los sonidos se reproducen después de una breve pulsación del botón. Para grabar un nuevo sonido, simplemente presione el botón durante más de 1 segundo, grabe después del pitido y suelte el botón al final del registro. ¡No hay nada más simple que eso!

Paso 1: Material necesario

Material necesario
Material necesario
Material necesario
Material necesario

Para este proyecto necesitaba:

  • Una Raspberry Pi modelo B + y una tarjeta micro SD - 29.95 $ + 9.95 $
  • Una caja de plástico Raspberry Pi - 7,95 $
  • Altavoces USB - 12,50 $
  • Un micrófono USB - 5,95 $
  • Una tabla perma-proto de tamaño medio - 4.50 $
  • 7 pulsadores momentáneos - 2.50 $

También necesitaba:

  • Algún cable eléctrico
  • Encabezados hembra en ángulo recto
  • Un poco de madera, pintura negra y pegamento para la caja del botón.
  • Un soldador y una soldadura.

Paso 2: los botones

Los botones
Los botones
Los botones
Los botones
Los botones
Los botones

Los botones utilizados son bastante altos (6 mm) para que puedan atravesar el grosor de la caja.

Coloqué mis 7 botones en una placa perma-proto, que es como una placa de pruebas, excepto que los componentes están soldados en ella. Esto es más robusto que una placa de pruebas y más barato que imprimir una placa de circuito impreso. Cada botón se conecta a tierra a un GPIO en la Raspberry Pi. No tengo resistencias aquí porque el Pi ya tiene resistencias internas pull-up / down que se configurarán en el programa. En este caso, los he configurado para que se levanten (consulte el programa a continuación).

Los botones se colocan cada 4 filas o cada 0,4 pulg.

Paso 3: el caso de los botones

El caso de los botones
El caso de los botones
El caso de los botones
El caso de los botones
El caso de los botones
El caso de los botones

Hice un estuche muy sencillo para los botones, con láminas de contrachapado y taco cuadrado de madera. El tamaño de la clavija debe ser lo suficientemente grande para contener la base del botón y el tablero, pero lo suficientemente pequeño para que el botón salga de la caja. Usé una clavija de 1/4 x 1/4 pulgadas.

Después de asegurarse de que la tabla encaja en la caja, las clavijas se pegan a la hoja base. Luego, se perforan agujeros en la hoja superior (la tabla se puede usar para hacer marcas con precisión cada 0.4 pulgadas). Todas las partes de madera están pintadas, la tabla colocada en la caja y la hoja superior pegada encima.

Paso 4: la Raspberry Pi

La Raspberry Pi
La Raspberry Pi
La Raspberry Pi
La Raspberry Pi
La Raspberry Pi
La Raspberry Pi

No quería soldar los cables directamente al Pi, en caso de que quiera usar el Pi para otra cosa en el futuro. Por lo tanto, soldé los cables a los conectores hembra en ángulo recto y conecté los conectores al Pi.

Los GPIO utilizados son 21, 26, 20, 19, 13, 6 y 5. También se utiliza el pin de tierra.

El micrófono y el altavoz simplemente se conectan a 2 de los 4 puertos USB.

El Pi se alimenta a través de la salida micro-usb

Paso 5: programación

Para programar el Pi, lo conecté a Internet usando un cable ethernet y lo controlé desde una computadora remota usando el visor VNC. Sin embargo, no puede usar esta configuración la primera vez que se conecta al Pi, porque el sistema operativo aún no está instalado y SSH no está habilitado. Por lo tanto, deberá conectar una pantalla, un teclado y un mouse, al menos la primera vez.

Fue bastante complicado encontrar los comandos para grabar y reproducir un sonido en la tarjeta de sonido correcta. Estos son los comandos que funcionaron para mí:

  • aplay -D plughw: CARD = Device_1, DEV = 0 0.wav

    Reproduce 0.wav

  • arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20

    Graba por un máximo de 20 segundos en el archivo 0.wav, con calidad de cd

Los archivos de sonido se encuentran en el directorio predeterminado (/ home / pi). También es necesario un archivo de sonido para el pitido, ubicado en el directorio predeterminado y llamado beep.wav.

El código de Python en sí es el siguiente:

código Python para una grabadora de reproducción Raspberry Pi

importar RPi. GPIO como GPIO
tiempo de importación
importar sistema operativo
#variables:
butPressed = [Verdadero, Verdadero, Verdadero, Verdadero, Verdadero, Verdadero, Verdadero] #si se presiona el botón i, entonces butPressed es Falso
pin = [26, 19, 13, 6, 5, 21, 20] # pines GPIO de cada botón
recordBool = False # Verdadero si hay un registro en curso
GPIO.setmode (GPIO. BCM)
para i en el rango (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP) # establece las resistencias internas de Pi en pull-up
mientras que es cierto:
para i en el rango (0, 7):
butPressed = GPIO.input (pin ) # comprueba si se presiona un botón
if butPressed == False: #si se presiona un botón
previousTime = time.time ()
while butPressed == False y recordBool == False:
butPressed = GPIO.input (pin )
if time.time () - previousTime> 1.0: # si el botón se presiona por más de un segundo, entonces recordBool es True
recordBool = Verdadero
if recordBool == True: # si recordBool es True, reproduce un pitido y luego graba
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav")
os.system ("arecord% d.wav -D sysdefault: CARD = 1 -f cd -d 20 &"% i) # graba durante un máximo de 20 segundos en el archivo i.wav, con calidad de cd
while butPressed == False:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord") # el registro se detiene cuando se suelta el botón o después de 20 segundos
recordBool = Falso
else: # si recordBool es False, reproduce sonido i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0% d.wav"% i)
tiempo. de sueño (0.1)

ver la grabadora rawPlayback alojada con ❤ por GitHub

Paso 6: Ejecute el script de Python en cada inicio

Para ejecutar el script de Python en el inicio de cada Pi, las siguientes líneas se colocan en un archivo llamado playback.desktop en la carpeta /home/pi/.config/autostart/

ejecuta playback.py en el inicio de Raspberry Pi

[Entrada de escritorio]
Codificación = UTF-8
Tipo = Aplicación
Nombre = Reproducción
Comentario = Esta es una aplicación de reproducción
Exec = python /home/pi/playback.py
StartupNotify = falso
Terminal = verdadero
Oculto = falso

ver rawplayback.desktop alojado con ❤ por GitHub

Paso 7: nota final

Por favor, dígame qué piensa de este proyecto en la sección de comentarios, déjeme saber sus recomendaciones y vote por mí en el concurso Raspberry Pi si le gustó.

¡Espero leerte!

Recomendado: