Inhaltsverzeichnis:

Eine Jukebox für die ganz Kleinen Aka Raspi-Music-Box - Gunook
Eine Jukebox für die ganz Kleinen Aka Raspi-Music-Box - Gunook

Video: Eine Jukebox für die ganz Kleinen Aka Raspi-Music-Box - Gunook

Video: Eine Jukebox für die ganz Kleinen Aka Raspi-Music-Box - Gunook
Video: Selfmade Phoniebox - JukeBox4Kids - Rfid Music Box - Jukebox 4 Kids - MP3 Box für Kinder - Raspberry 2024, Dezember
Anonim
Eine Jukebox für die ganz Kleinen… Aka Raspi-Music-Box
Eine Jukebox für die ganz Kleinen… Aka Raspi-Music-Box

Inspiriert von dem anweisbaren "Raspberry-Pi-based-RFID-Music-Robot", der einen Musikplayer ROALDH für seinen 3-Jährigen beschreibt, beschloss ich, eine Jukebox für meine noch jüngeren Kinder zu bauen. Es ist im Grunde eine Box mit 16 Tasten und einem Raspi 2 im Inneren, der Songs über die angeschlossene Stereoanlage abspielt, wenn eine der Tasten gedrückt wird.

Was du brauchst:

  • Ein Raspberry Pi mit Netzteil
  • 16 Knöpfe - die Art, die beim Drücken temporär geschlossen werden (oder wie viele Knöpfe Sie möchten - Achtung: nicht mehr als Sie Eingangspins haben …;)) Ich habe diesen verwendet: Knopf für 0,50 €
  • ein dünner Draht
  • ein 10kOhm und ein 1kOhm Widerstand pro Taster (es sei denn, man möchte sich auf die internen Pull-Up/Down-Widerstände des Raspi verlassen, dann kann man das überspringen)
  • Stripboard
  • Buchsenleiste (2x20-polig)
  • etwas dünnes Holz, um die Box zu bauen (ich habe 2 Blätter 5x400x400mm für die Vorder- und Rückseite verwendet sowie einen 2000x50x5mm Streifen zum Ausschneiden der Seiten)
  • 24 Schrauben und etwas Kleber zum Zusammenbauen der Box
  • etwas Farbe um es bunt zu machen
  • Audiokabel, um den Raspi mit Ihrer Stereoanlage oder Ihren Aktivlautsprechern zu verbinden (Klinke an alles, was Sie am anderen Ende benötigen)
  • Werkzeuge: Lötkolben, Drahtzange, idealerweise Abisolierzange, Säge, Bohrer, Schraubendreher, Pinsel…
  • optional: USB-Soundkarte, wenn die Musik gut klingen soll
  • optional: WLAN-Karte, wenn Sie sich mit einem alten Raspi verbinden möchten, ohne die Box zu öffnen

Bitte beachten Sie, dass dies mein erstes anweisbares ist und ich dieses Projekt vor einiger Zeit gemacht habe … Ich mache es, während ich immer wieder nach der VLC-Art gefragt werde, die Songs im Kommentarbereich des oben erwähnten instructable zu spielen (der dort verwendete Mplayer) wird meines Wissens nicht mehr unterstützt). Ich weiß, dass diese Anweisungen nicht sehr gut sind, aber ich hoffe, es ist möglich, dass Sie folgen … wenn nicht, schauen Sie sich bitte auch das Original an und hinterlassen Sie bitte Kommentare unten, in denen Sie mir sagen, wo Sie stecken geblieben sind …

Schritt 1: Bauen Sie eine Box…

Baue eine Kiste…
Baue eine Kiste…
Baue eine Kiste…
Baue eine Kiste…

Als erstes musst du also eine Box bauen… Ich habe meine ziemlich groß gemacht, weil ich unter jedem Knopf etwas Platz für ein Etikett gelassen habe… Knöpfe… Lektion gelernt: Wenn Sie die Etiketten drucken, kennen Ihre Kinder alle Lieder genau und fordern Sie auf, einige zu ändern… Also würde ich das nächste Mal eine kleinere Schachtel bauen und die Knöpfe näher zusammenstecken…

Also zurück zu meiner Kiste… ich kaufte zwei Sperrholzplatten 400 x 400 x 5 mm und eine 2000 x 50 x 5 mm Leiste… dann der erste, wichtigste Schritt: Meine Tochter durfte die Frontplatte nach ihrer Wahl lackieren Farben…:) Während sie malte, habe ich das lange Stück in 5 Streifen geschnitten - zwei 400 mm lang, zwei 390 mm lang und die Reste…;) diese habe ich auf die Rückseite des frisch lackierten Blattes geklebt… dann habe ich 12 Löcher gebohrt von außen und schraubte 12 Schrauben ein… Ich richtete dann das andere Blatt auf der Rückseite sorgfältig aus, bohrte weitere 12 Löcher für weitere 12 Schrauben, um die Box zu schließen, wenn ich fertig war. (Ich weiß, dass 12 Schrauben vielleicht etwas übertrieben sind, aber Kinder sind stark…:))

Auf einer Seite benutzte ich eine Feile (Sie könnten einen Dremel verwenden, um die Dinge zu beschleunigen), um ein bisschen Holz auszuschneiden, um durch die Kabel zu gehen. Ich habe dann auch die Löcher für die 16 Knöpfe gebohrt und eingebaut.

Schritt 2: Verdrahten Sie die Tasten

Verdrahten Sie die Tasten
Verdrahten Sie die Tasten

Jetzt hast du also eine Box mit 16 Knöpfen… als nächstes musst du diese verdrahten… Ich habe einen ihrer Pole in einer Daisy-Chain-Manier mit Masse verbunden. Idealerweise haben Sie dafür kleine Anschlüsse… Ich habe sie angelötet, was ein großer Albtraum war und noch mehr Probleme verursachen wird, wenn ich jemals einen der Knöpfe herausnehmen muss. Die anderen Pole habe ich dann an je ein rotes Kabel befestigt… Diese habe ich dann an die in der Mitte liegende Anschlussplatine angelötet…

Welcher Button an welchem Pin? Taste 1-16 in dieser Reihenfolge: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Bitte überprüfen Sie auch die Schaltfläche "Tastendruckereignisse einfangen" Abschnitt" im Code später.

(Bitte fragt mich nicht, wozu die aufgerollten Drähte da waren… ich kann mich nicht erinnern)

Schritt 3: Optional: Erstellen einer Platine mit Pull-Up- und Pull-Down-Widerständen

Optional: Erstellen einer Platine mit Pull-Up- und Pull-Down-Widerständen
Optional: Erstellen einer Platine mit Pull-Up- und Pull-Down-Widerständen
Optional: Erstellen einer Platine mit Pull-Up- und Pull-Down-Widerständen
Optional: Erstellen einer Platine mit Pull-Up- und Pull-Down-Widerständen

Wenn Sie sich nicht sicher sind, was Pull-Up- und Pull-Down-Widerstände sind, sollten Sie online viele Informationen finden. Das Raspi hat einige eingebaute oder Sie können externe tun, wie ich es hier getan habe. Dieser Schritt ist optional, da ich glaube, dass Sie ihn nicht wirklich brauchen.

Also warum habe ich es getan? Manchmal fing die Musik an zu spielen, wenn ich die Geräte in der Wohnung ein- und ausschaltete. Ich dachte zuerst, es würde elektromagnetische Wellen aufnehmen oder so. Also habe ich die Pull-Up/Down-Widerstände hinzugefügt… Da dies die Situation nicht verbessert hat, habe ich zusätzlich einige Kondensatoren hinzugefügt. Das half immer noch nicht… als nächstes wollte ich versuchen, das Innere der Box mit Alufolie als Abschirmung abzudecken. Als das Problem aufhörte, als wir umgezogen waren, habe ich es nie versucht … Also, was war das Problem? Ich weiß es nicht… kann es Abweichungen in der Stromleitung gegeben haben?

Fazit: Ich würde dir raten, die Buttons zunächst einfach direkt anzuschließen (Sie werden später im Code sehen, welcher Button auf welchen Pin geht) und diesen Schritt nur bei Problemen zu tun. Ich hoffe, Sie können auf den obigen Bildern sehen, wie ich das gemacht habe. Grundsätzlich gibt es eine Leiste zum Putten auf den Header in der Mitte und dann habe ich auf jeder Seite die beiden Widerstände und die Kabel von den Tasten in einer Reihe angeschlossen.

Schritt 4: Der Python-Code

Hier angehängt finden Sie den Code (in Python), der die musicbox verwaltet. Ich habe einige Kommentare hinzugefügt, so dass es hoffentlich selbsterklärend ist. Für alle Fälle hier eine kurze Erklärung. Am besten beginnen Sie oben mit dem Lesen des Variablenabschnitts und springen dann ganz nach unten.

Ganz unten findest du eine Schleife, die die ganze Zeit läuft. Es prüft zunächst, ob eine bestimmte Tastenfolge gedrückt wurde - das war meine Art der Kindersicherung. Dann gibt es die Funktionen, die die Musik abspielen.

Oberhalb der Hauptschleife finden Sie einige Ereigniserkennungen - diese werden ausgeführt, wenn eine der Tasten gedrückt wird. Jede Schaltfläche ruft die ButtonPress-Funktion auf und übergibt einen Bezeichner.

Also, wie kann man es dazu bringen, die Musik abzuspielen? Der Einfachheit halber habe ich nur einen Ordner für jede Schaltfläche erstellt. Unabhängig davon, welche MP3-Dateien Sie in diese Ordner legen, fügt die Funktion der Wiedergabeliste hinzu.

Bitte beachten Sie, dass Sie den Abschnitt mit der BCM-Nummerierung wie folgt ändern müssen, wenn Sie keine physischen Pullup-Widerstände verwendet haben:

# Setup mit BCM-NummerierungGPIO.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)

Schritt 5: Einrichten Ihres Rapsi

Sie müssen natürlich auch die Raspi einrichten… Ich habe nur die Standard-Noop-Installation verwendet. Ich bin sicher, Sie werden jede Menge Anleitungen finden, wie das geht…

Um Python zu verwenden, müssen Sie "sudo apt-get install python-dev"

Mein Programm verwendet VLC, um die Musik abzuspielen:

  • Ich habe die Python-Verbindung von hier (hoffe, das ist noch aktuell):
  • Dann habe ich es mit "sudo python setup.py install" installiert.
  • Dann VLC installiert "sudo apt-get install vlc"
  • Stecken Sie die Dateien vlc.py und vlc.pyc in das gleiche Verzeichnis wie Ihr Programm
  • Weitere Informationen unter

Meine Notizen besagen, dass Sie auch Folgendes installieren müssen, um von Python auf die GPIO-Pins zuzugreifen (dies kann jedoch veraltet sein):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./konfigurieren
  • machen
  • sudo machen check
  • sudo machen installieren

Um Ihr Programm zum Laufen zu bringen, müssen Sie "sudo python yourfilename.py" aufrufen.

Empfohlen: