Tabla de contenido:

Un Juke Box para los más jóvenes Aka Raspi-Music-Box: 5 pasos
Un Juke Box para los más jóvenes Aka Raspi-Music-Box: 5 pasos

Video: Un Juke Box para los más jóvenes Aka Raspi-Music-Box: 5 pasos

Video: Un Juke Box para los más jóvenes Aka Raspi-Music-Box: 5 pasos
Video: Her Best Move (Comedia, Romance) Película completa | Subtitulado en español 2024, Diciembre
Anonim
Un Juke Box para los más jóvenes… Aka Raspi-Music-Box
Un Juke Box para los más jóvenes… Aka Raspi-Music-Box

Inspirado por el instructivo "Robot de música RFID basado en Raspberry-Pi" que describe un reproductor de música que ROALDH construyó para su hijo de 3 años, decidí construir una máquina de discos para mis hijos aún más pequeños. Es básicamente una caja con 16 botones y un Raspi 2 en el interior que reproduce canciones a través del estéreo adjunto cada vez que se presiona alguno de los botones.

Que necesitas:

  • Una Raspberry Pi con fuente de alimentación
  • 16 botones - del tipo que se cierran temporalmente cuando se pulsan (o tantos botones como desee - aviso: no más de los que tiene pines de entrada …;)) Usé este: botón por 0,50 €)
  • un poco de alambre delgado
  • una resistencia de 10kOhm y una de 1kOhm por botón (a menos que desee confiar en las resistencias internas pull-up / down de Raspi, puede omitir esto)
  • stripboard
  • cabezal hembra (2x20 pines)
  • un poco de madera delgada para construir la caja (utilicé 2 hojas de 5x400x400 mm para el frente y la parte posterior más una tira de 2000x50x5 mm para cortar los lados)
  • 24 tornillos y un poco de pegamento para armar la caja
  • un poco de pintura para hacerlo colorido
  • cable de audio para conectar la Raspi a su estéreo o altavoces activos (conector a lo que necesite en el otro extremo)
  • herramientas: un soldador, cortaalambres, pelacables idealmente, sierra, taladro, destornillador, pincel …
  • opcional: tarjeta de sonido USB si desea que la música suene bien
  • opcional: tarjeta wifi si desea conectarse a una Raspi vieja sin abrir la caja

Tenga en cuenta que este es mi primer instructivo e hice este proyecto hace bastante tiempo … Lo estoy haciendo ya que me siguen preguntando sobre la forma de VLC de tocar las canciones en la sección de comentarios del instructivo mencionado anteriormente (el mplayer usado allí ya no es compatible hasta donde yo sé). Sé que estas instrucciones no son muy buenas, pero espero que sea posible que las sigas … si no, mira también el instructivo original y deja comentarios a continuación para decirme dónde te quedaste atascado … Entonces intentaré mejorar …

Paso 1: Construye una caja…

Construye una caja …
Construye una caja …
Construye una caja …
Construye una caja …

Así que lo primero que tienes que hacer es construir una caja … Hice la mía bastante grande porque dejé un poco de espacio debajo de cada botón para una etiqueta … Planeaba imprimir algunas fotos para cada canción, plastificarlas tal vez y etiquetarlas en azul debajo de la botones … lección aprendida: para cuando imprime las etiquetas, sus hijos conocen todas las canciones por completo y le piden que cambie algunas … Así que la próxima vez construiría una caja más pequeña y juntaría los botones …

Entonces, volviendo a mi caja … compré dos láminas de madera contrachapada de 400 x 400 x 5 mm y una tira de 2000 x 50 x 5 mm … luego el primer paso, el más importante: a mi hija se le permitió pintar el panel frontal en su elección de colores…:) Mientras ella pintaba corté el trozo largo en 5 tiras - dos de 400 mm de largo, dos de 390 mm de largo y las sobras…;) estas las pegué en la parte posterior de la hoja recién pintada… luego hice 12 agujeros desde el exterior y atornillé 12 tornillos … Luego alineé cuidadosamente la otra hoja en la parte posterior, taladré otros 12 agujeros para otros 12 tornillos para cerrar la caja una vez que terminé. (Sé que 12 tornillos pueden ser un poco exagerados, pero los niños son fuertes …:))

En un lado usé una lima (podrías usar una dremel para acelerar las cosas) para cortar un poco de madera y pasar por los cables. Luego también perforé los agujeros para los 16 botones y los instalé.

Paso 2: Conecte los botones

Conecte los botones
Conecte los botones

Así que ahora tienes una caja con 16 botones… a continuación tienes que conectarlos… conecté uno de sus polos a tierra en forma de cadena tipo margarita. Lo ideal sería tener pequeños conectores para hacerlo … Los soldé, lo cual fue una gran pesadilla y causará aún más problemas si alguna vez tengo que quitar alguno de los botones. Luego conecté sus otros polos a un cable rojo cada uno … Luego los soldé a la placa del conector que puedes ver en el medio …

¿Qué botón a qué pin? Botón 1-16 en este orden: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Por favor, marque también el "botón de captura de eventos de pulsación sección "en el código más adelante.

(Por favor, no me pregunten para qué eran los cables enrollados … no puedo recordar)

Paso 3: Opcional: hacer una placa con resistencias pull up y pull down

Opcional: hacer una tabla con resistencias pull up y pull down
Opcional: hacer una tabla con resistencias pull up y pull down
Opcional: hacer una tabla con resistencias pull up y pull down
Opcional: hacer una tabla con resistencias pull up y pull down

Si no está seguro de qué son las resistencias pull up y pull down, debería encontrar fácilmente mucha información en línea. El raspi tiene algunos incorporados o puedes hacerlos externos como lo hice aquí. Este paso es opcional ya que no creo que realmente lo necesite.

Entonces, ¿por qué lo hice? A veces, la música comenzaba a sonar cuando encendía / apagaba electrodomésticos en el piso. Primero pensé que estaba captando ondas electromagnéticas o algo así. Así que agregué las resistencias pull-up / down… Como esto no mejoró la situación, agregué algunos capacitores además. Esto todavía no ayudó … lo siguiente que quería intentar era cubrir el interior de la caja con papel de aluminio como protección. Como el problema se detuvo cuando nos mudamos de casa, nunca terminé intentando esto… Entonces, ¿cuál fue el problema? No lo sé… ¿puede haber habido variaciones en la línea eléctrica?

Conclusión: Le aconsejo que primero conecte los botones directamente (verá en el código más adelante qué botón va en qué pin) y solo haga este paso si tiene algunos problemas. Espero que en las imágenes de arriba puedas ver cómo hice esto. Básicamente hay una barra para poner en el encabezado en el medio y luego en cada lado conecté las dos resistencias y los cables de los botones en una fila.

Paso 4: el código Python

Adjunto aquí encontrará el código (en python) que administra la caja de música. Agregué algunos comentarios, así que espero que se explique por sí mismo. Por si acaso, aquí una explicación rápida. Es mejor comenzar a leer la sección de variables en la parte superior y luego saltar hasta el final.

En la parte inferior encontrará un bucle, que se ejecuta todo el tiempo. Primero verifica si se presionó una determinada secuencia de botones; esta era mi forma de usar algún control parental. Luego están las funciones que reproducen la música.

Sobre el bucle principal encontrará algunos eventos detectados, que se ejecutan si se presiona uno de los botones. Cada botón llama a la función ButtonPress pasando un identificador.

Entonces, ¿cómo hacer que reproduzca la música? Para simplificarlo, solo generé una carpeta para cada botón. Independientemente de los mp3 que coloque en estas carpetas, la función se agrega a la lista de reproducción.

Tenga en cuenta que, si no utilizó resistencias pull up físicas, deberá cambiar la sección con la numeración del BCM a esta:

# configuración usando la numeración BCM GPIO.setmode (GPIO. BCM) GPIO.setup (04, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (17, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (27, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (22, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (05, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (06, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (13, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (19, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (26, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (12, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (16, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (20, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (21, GPIO. IN, pull_up_down = GPIO. PUD_UP)

Paso 5: Configuración de su Rapsi

También necesitará configurar el raspi, por supuesto … Acabo de usar la instalación estándar de Noop. Estoy seguro de que encontrará muchas instrucciones sobre cómo hacerlo …

Para usar Python, necesitará "sudo apt-get install python-dev"

Mi programa usa VLC para reproducir la música:

  • Obtuve la conexión de Python desde aquí (espero que esto todavía esté actualizado):
  • Luego lo instalé usando "sudo python setup.py install"
  • Luego instaló VLC "sudo apt-get install vlc"
  • Pegue los archivos vlc.py y vlc.pyc en el mismo directorio que su programa
  • Más información en

Mis notas dicen que también necesita instalar lo siguiente para acceder a los Pines GPIO desde python (pero esto puede estar desactualizado):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./configurar
  • hacer
  • sudo hacer cheque
  • sudo hacer instalar

Para que su programa se ejecute, tendrá que llamar a "sudo python yourfilename.py".

Recomendado: