Sommario:

Un Juke Box per Giovanissimi Aka Raspi-Music-Box: 5 Passi
Un Juke Box per Giovanissimi Aka Raspi-Music-Box: 5 Passi

Video: Un Juke Box per Giovanissimi Aka Raspi-Music-Box: 5 Passi

Video: Un Juke Box per Giovanissimi Aka Raspi-Music-Box: 5 Passi
Video: 1727 viene aggredito da poeta di strada e colombiano di Niko pandetta fuori dallo studio di tatuaggi 2024, Novembre
Anonim
Un Juke Box per i Giovanissimi… Aka Raspi-Music-Box
Un Juke Box per i Giovanissimi… Aka Raspi-Music-Box

Ispirato dall'istruttivo "Raspberry-Pi-based-RFID-Music-Robot" che descrive un lettore musicale ROALDH costruito per il suo bambino di 3 anni, ho deciso di costruire un juke box per i miei bambini ancora più piccoli. È fondamentalmente una scatola con 16 pulsanti e un Raspi 2 all'interno che riproduce brani tramite lo stereo collegato ogni volta che viene premuto uno qualsiasi dei pulsanti.

Quello di cui hai bisogno:

  • Un Raspberry Pi con alimentatore
  • 16 pulsanti - del tipo che si chiudono temporaneamente quando vengono premuti (o tutti i pulsanti che desideri - consiglio: non più di quanti pin di input hai…;)) Ho usato questo: pulsante per € 0,50)
  • un filo sottile
  • un resistore da 10kOhm e uno da 1kOhm per pulsante (a meno che non si voglia fare affidamento sui resistori pull-up/down interni del Raspi, è possibile saltare questo)
  • stripboard
  • connettore femmina (2x20 pin)
  • del legno sottile per costruire la scatola (ho usato 2 fogli 5x400x400mm per il fronte e il retro più una striscia 2000x50x5mm per tagliare i lati)
  • 24 viti e un po' di colla per assemblare la scatola
  • un po' di vernice per renderlo colorato
  • cavo audio per collegare il Raspi al tuo stereo o altoparlanti attivi (jack a quello che ti serve dall'altra parte)
  • strumenti: un saldatore, tagliafili, spelafili idealmente, sega, trapano, cacciavite, pennello…
  • opzionale: scheda audio USB se vuoi che la musica suoni bene
  • opzionale: scheda wifi se vuoi connetterti ad un vecchio Raspi senza aprire la scatola

Si prega di notare che questo è il mio primo istruttore e ho fatto questo progetto un po' di tempo fa… Lo sto facendo mentre continuo a chiedermi del modo VLC di riprodurre le canzoni nella sezione commenti dell'istruibile sopra menzionato (l'mplayer usato lì non è più supportato per quanto ne so). So che queste istruzioni non sono molto buone, ma spero che tu possa seguirle… in caso contrario, per favore guarda anche le istruzioni originali e per favore lascia commenti qui sotto dicendomi dove ti sei bloccato… allora cercherò di migliorare…

Passaggio 1: costruisci una scatola…

Costruisci una scatola…
Costruisci una scatola…
Costruisci una scatola…
Costruisci una scatola…

Quindi la prima cosa che devi fare è costruire una scatola… Ho fatto la mia abbastanza grande perché ho lasciato dello spazio sotto ogni pulsante per un'etichetta… Avevo pianificato di stampare alcune foto per ogni canzone, laminarle magari e taggarle in blu sotto il bottoni… lezione imparata: quando stampi le etichette, i tuoi figli conoscono bene tutte le canzoni e ti chiedono di cambiarne alcune… Quindi la prossima volta costruirò una scatola più piccola e avvicinerò i bottoni…

Quindi, tornando alla mia scatola… ho comprato due fogli di compensato 400 x 400 x 5 mm e una striscia 2000 x 50 x 5 mm… poi il primo, più importante passo: mia figlia ha potuto dipingere il pannello frontale a sua scelta colori…:) Mentre dipingeva ho tagliato la punta lunga in 5 strisce - due lunghe 400 mm, due lunghe 390 mm e gli avanzi…;) queste le ho incollate sul retro del foglio appena dipinto… poi ho praticato 12 fori dall'esterno e ho avvitato 12 viti… Ho poi allineato con cura l'altro foglio sul retro, ho praticato altri 12 fori per altre 12 viti per chiudere la scatola una volta finito. (So che 12 viti potrebbero essere un po' eccessive, ma i bambini sono forti…:))

Da un lato ho usato una lima (potresti usare un dremel per velocizzare le cose) per tagliare un po' di legno per passare attraverso i cavi. Ho quindi praticato anche i fori per i 16 pulsanti e li ho installati.

Passaggio 2: collegare i pulsanti

Collegare i pulsanti
Collegare i pulsanti

Quindi ora hai una scatola con 16 pulsanti … poi devi collegarli … Ho collegato uno dei loro poli a terra in un modo a margherita. Idealmente avrai piccoli connettori per farlo… Li ho saldati, il che è stato un grosso incubo e causerà ancora più problemi se dovessi mai togliere uno qualsiasi dei pulsanti. Poi ho attaccato gli altri loro poli a un filo rosso ciascuno… Questi li ho poi saldati alla scheda del connettore che puoi vedere che giace nel mezzo…

Quale pulsante a quale pin? Pulsante 1-16 in questo ordine: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Si prega di controllare anche gli eventi di pressione del pulsante di cattura sezione nel codice successivo.

(Per favore non chiedetemi a cosa servivano i fili arrotolati… non ricordo)

Passaggio 3: Facoltativo: realizzare una scheda con resistori pull up e pull down

Opzionale: realizzare una scheda con resistori pull up e pull down
Opzionale: realizzare una scheda con resistori pull up e pull down
Opzionale: realizzare una scheda con resistori pull up e pull down
Opzionale: realizzare una scheda con resistori pull up e pull down

Se non sei sicuro di cosa siano i resistori di pull up e pull down, dovresti trovare facilmente un sacco di informazioni online. Il raspi ne ha alcuni incorporati o puoi farne di esterni come ho fatto qui. Questo passaggio è facoltativo in quanto non credo che tu ne abbia davvero bisogno.

Allora perché l'ho fatto? A volte la musica iniziava a suonare quando accendevo/spegnevo gli elettrodomestici nell'appartamento. All'inizio ho pensato che stesse captando onde elettromagnetiche o qualcosa del genere. Quindi ho aggiunto i resistori di pull-up/down… Poiché ciò non ha migliorato la situazione, ho aggiunto alcuni condensatori in più. Questo ancora non ha aiutato … la prossima cosa che volevo provare era coprire l'interno della scatola con un foglio di alluminio come schermatura. Dato che il problema si è fermato quando abbiamo cambiato casa, non ho mai finito per provare questo … Quindi qual era il problema? Non so… possono essere state variazioni sulla linea elettrica?

Conclusione: ti consiglierei di collegare prima i pulsanti direttamente (vedrai nel codice in seguito quale pulsante va su quale pin) e fai questo passaggio solo se hai qualche problema. Spero che tu possa vedere dalle immagini sopra come ho fatto questo. Fondamentalmente c'è una barra da mettere sulla testata nel mezzo e poi su ogni lato ho collegato le due resistenze e i cavi dei pulsanti in una fila.

Passaggio 4: il codice Python

In allegato qui troverete il codice (in python) che gestisce il carillon. Ho aggiunto alcuni commenti, quindi spero che sia autoesplicativo. Per ogni evenienza, ecco una rapida spiegazione. È meglio iniziare a leggere la sezione delle variabili in alto e poi saltare fino in fondo.

In fondo troverai un ciclo, che viene eseguito tutto il tempo. Prima controlla se è stata premuta una determinata sequenza di pulsanti: questo era il mio modo di utilizzare il controllo genitori. Poi ci sono le funzioni che riproducono la musica.

Sopra il ciclo principale troverai alcuni rilevamenti di eventi: questi vengono eseguiti se viene premuto uno dei pulsanti. Ogni pulsante chiama la funzione ButtonPress passando un identificatore.

Quindi, come farlo riprodurre la musica? Per semplificare, ho appena generato una cartella per ogni pulsante. Qualunque mp3 metti in queste cartelle, la funzione si aggiunge alla playlist.

Tieni presente che se non hai utilizzato resistori di pull up fisici, dovrai modificare la sezione con la numerazione BCM in questo modo:

# 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)

Passaggio 5: configurazione del tuo Rapsi

Dovrai anche configurare il raspi ovviamente… Ho appena usato l'installazione standard di Noop. Sono sicuro che troverai un sacco di istruzioni su come farlo…

Per usare python dovrai "sudo apt-get install python-dev"

Il mio programma utilizza VLC per riprodurre la musica:

  • Ho ottenuto la connessione Python da qui (spero che sia ancora aggiornato):
  • Quindi l'ho installato usando "sudo python setup.py install"
  • Quindi installato VLC "sudo apt-get install vlc"
  • Inserisci i file vlc.py e vlc.pyc nella stessa directory del tuo programma
  • Maggiori informazioni su

Le mie note dicono che devi anche installare quanto segue per accedere ai pin GPIO da Python (ma questo potrebbe non essere aggiornato):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./configurare
  • fare
  • sudo fare il controllo
  • sudo make install

Per far funzionare il tuo programma, dovrai chiamare "sudo python tuonomefile.py".

Consigliato: