Taula de continguts:

Una Juke Box per als més joves Aka Raspi-Music-Box: 5 passos
Una Juke Box per als més joves Aka Raspi-Music-Box: 5 passos

Vídeo: Una Juke Box per als més joves Aka Raspi-Music-Box: 5 passos

Vídeo: Una Juke Box per als més joves Aka Raspi-Music-Box: 5 passos
Vídeo: It Became Unliveable! ~ Abandoned Home Of The Spenser's In The USA 2024, Juliol
Anonim
Una Juke Box per als més joves … Aka Raspi-Music-Box
Una Juke Box per als més joves … Aka Raspi-Music-Box

Inspirat en la instructiva "Raspberry-Pi-based-RFID-Music-Robot" que descriu un reproductor de música fabricat per ROALDH per als seus 3 anys, vaig decidir construir una caixa de seguretat per als meus fills encara més petits. Bàsicament és una caixa amb 16 botons i un Raspi 2 a l'interior que reprodueix cançons a través de l'estèreo adjunt sempre que es prem qualsevol dels botons.

Què necessites:

  • Un Raspberry Pi amb font d'alimentació
  • 16 botons: els que es tanquen temporalment quan es premen (o per molts botons que vulgueu, aconsellem: no més del que teniu pins d'entrada …;)) He utilitzat aquest: botó per 0,50 €)
  • una mica de filferro prim
  • una resistència de 10 kOhm i una de 1 kOhm per botó (tret que vulgueu confiar en les resistències internes de pujada / baixada del Raspi, podeu ometre-les)
  • llistó
  • capçalera femenina (2x20 pins)
  • una mica de fusta fina per construir la caixa (he utilitzat 2 fulls de 5x400x400mm per la part davantera i posterior més una tira de 2000x50x5mm per tallar els laterals)
  • 24 cargols i una mica de cola per unir la caixa
  • una mica de pintura perquè sigui de colors
  • cable d'àudio per connectar el Raspi als altaveus estèreo o actius (connecteu al que necessiteu a l'altre extrem)
  • eines: un soldador, talladores de filferro, separador de filferro idealment, serra, trepant, tornavís, pinzell …
  • opcional: targeta de so USB si voleu que la música soni bé
  • opcional: targeta wifi si voleu connectar-vos a un Raspi antic sense obrir la caixa

Tingueu en compte que aquest és el meu primer instructable i vaig fer aquest projecte fa força temps … Estic fent-ho mentre em segueixen preguntant sobre la forma de tocar VLC de les cançons a la secció de comentaris de l’instructible esmentat anteriorment (el mplayer que s’utilitza allà que jo ja no és compatible). Sé que aquestes instruccions no són molt bones, però espero que pugueu seguir-les … en cas contrari, mireu també les instruccions originals i deixeu els comentaris a continuació dient-me on us heu quedat atrapats … Intentaré millorar …

Pas 1: creeu una caixa …

Construeix una caixa …
Construeix una caixa …
Construeix una caixa …
Construeix una caixa …

Així que el primer que heu de fer és construir una caixa … Vaig fer la meva força gran perquè vaig deixar una mica d’espai sota cada botó per a una etiqueta … Tenia previst imprimir algunes imatges de cada cançó, laminar-les potser i etiquetar-les de color blau a sota de la botons … lliçó apresa: quan imprimiu les etiquetes, els vostres fills ja coneixen totes les cançons i us demanen que en canvieu alguns … Així que la propera vegada construiria una caixa més petita i acostaria els botons …

Així que, de nou a la meva caixa … Vaig comprar dos fulls de fusta contraxapada de 400 x 400 x 5 mm i una tira de 2000 x 50 x 5 mm … llavors el primer pas més important: a la meva filla se li va permetre pintar el tauler frontal en la seva elecció de colors …:) Mentre pintava, vaig tallar el tros llarg en 5 tires: dues de 400 mm de llargada, dues de 390 mm de llargada i les restes esquerres…; des de l'exterior i cargolat en 12 cargols … Després vaig alinear amb cura l'altra làmina de la part posterior, vaig perforar 12 forats més per dotar-los de 12 cargols més per tancar la caixa un cop acabada. (Sé que 12 cargols poden ser una mica excessius, però els nens són forts …:))

Per un costat, he utilitzat un fitxer (es pot fer servir un dremel per accelerar les coses) per retallar una mica de fusta per passar pels cables. Després també he forat els forats dels 16 botons i els he instal·lat.

Pas 2: connecteu els botons

Connecteu els botons
Connecteu els botons

Així que ara teniu una caixa amb 16 botons … a continuació, heu de connectar-los … Vaig connectar un dels seus pols a terra de manera cadena. L’ideal és que tingueu connectors petits per fer-ho … Els heu soldat, que era un malson important i causaria encara més problemes si mai he de treure algun dels botons. Llavors vaig fixar els altres pols a un fil vermell cadascun … Aquests els vaig soldar a la placa de connectors que es pot veure estesa al mig …

Quin botó a quin pin? Botó 1-16 per aquest ordre: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Comproveu també el botó "Captura d'esdeveniments de premsa secció "al codi més endavant.

(Si us plau, no em pregunteu per a què servien els cables enrotllats … no me'n recordo)

Pas 3: Opcional: fer una placa amb resistències de pujar i baixar

Opcional: fer una placa amb resistències de tracció cap amunt i cap avall
Opcional: fer una placa amb resistències de tracció cap amunt i cap avall
Opcional: fer una placa amb resistències de tracció cap amunt i cap avall
Opcional: fer una placa amb resistències de tracció cap amunt i cap avall

Si no esteu segur de què són les resistències de pujar i baixar, hauríeu de trobar fàcilment molta informació en línia. El raspi té alguns incorporats o podeu fer-ne d'altres com he fet aquí. Aquest pas és opcional ja que no crec que realment el necessiteu.

Llavors, per què ho he fet? De vegades, la música començava a sonar quan vaig encendre / apagar els aparells del pis. Primer vaig pensar que agafava ones electromagnètiques o alguna cosa així. Així que vaig afegir les resistències pull-up / down … Com que això no va millorar la situació, vaig afegir alguns condensadors a més. Això encara no va ajudar … el següent que volia provar era tapar l'interior de la caixa amb paper d'alumini com a protecció. Com que el problema es va aturar quan vam canviar de casa, mai no vaig acabar provant això … Quin va ser el problema? No sé … pot haver estat variacions en la línia elèctrica?

Conclusió: us aconsellaria que primer connecteu directament els botons (més endavant veureu al codi quin botó va a quin pin) i feu aquest pas només si teniu algun problema. Espero que a les imatges anteriors es vegi com he fet això. Bàsicament hi ha una barra per posar al capçal al centre i després a cada costat he connectat les dues resistències i els cables dels botons en una fila.

Pas 4: el codi Python

Adjunt aquí trobareu el codi (en python) que gestiona la caixa de música. He afegit bastants comentaris, així que espero que s'expliqui per si mateix. Per si de cas aquí hi ha una ràpida explicació. El millor és començar a llegir la secció de variables a la part superior i després saltar-la fins a la part inferior.

A la part inferior trobareu un bucle que funciona tot el temps. Primer comprova si es premia una seqüència determinada de botons; aquesta era la meva manera d’utilitzar cert control parental. A continuació, hi ha les funcions que reprodueixen la música.

A sobre del bucle principal trobareu algunes deteccions d'esdeveniments: s'executen si es prem un dels botons. Cada botó crida a la funció ButtonPress passant un identificador.

Llavors, com fer que reprodueixi la música? Per simplificar-ho, acabo de generar una carpeta per a cada botó. Independentment dels fitxers mp3 que poseu en aquestes carpetes, la funció s’afegeix a la llista de reproducció.

Tingueu en compte que, si no heu utilitzat resistències físiques, haureu de canviar la secció amb la numeració BCM a aquesta:

# setup using BCM numberingGPIO.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)

Pas 5: configureu el vostre Rapsi

Per descomptat, també haureu de configurar el raspi … Acabo d'utilitzar la instal·lació estàndard de Noop. Estic segur que trobareu moltes instruccions sobre com fer-ho …

Per utilitzar Python haurà de "sudo apt-get install python-dev"

El meu programa utilitza VLC per reproduir la música:

  • He obtingut la connexió Python des d’aquí (espero que encara estigui actualitzada):
  • Després el vaig instal·lar mitjançant "sudo python setup.py install"
  • A continuació, va instal·lar VLC "sudo apt-get install vlc"
  • Enganxeu els fitxers vlc.py i vlc.pyc al mateix directori que el vostre programa
  • Més informació a

Les meves notes diuen que també heu d’instal·lar el següent per accedir als pins GPIO des de python (però pot ser que estigui obsolet):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./configure
  • fer
  • sudo make check
  • sudo make install

Per fer funcionar el vostre programa, haureu de trucar a "sudo python yourfilename.py".

Recomanat: