[Projekt] jukebox4kids (Jukebox für Kinder)

  • Hi,


    ich baue derzeit auch eine "Yet Another Jukebox 4 Kids" und bin bei meinen Recherchen ständig auf diesen Thread gekommmen, daher jetzt frisch angemeldet und gleich mit einer Frage an die Profis ;)


    Juniors Box möchte ich mit einer Micro USB Typ B Buchse ausstatten, damit die Powerbank in der Box mit einem normalen Smartphone-Ladegerät aufgeladen werden kann.



    Mit 5,50 € preislich okay, sieht aber blöd aus: Delock kabel usb 2.0 micro-b buchse zum einbau


    Mit ca. 25 € viel zu teuer, entspricht aber mehr meinen Vorstellungen: Micro USB-Einbaubuchse 2.0 Buchse



    Weitere Lösungen habe ich bislang nicht gefunden - Habt ihr da noch weitere Ideen / wie habt ihr das Realisiert?



    ...

    Falls es wen interessiert, anbei mein aktueller Code (Raspberry Pi, Python3, mpc als Player, USB RFID-Reader per evdev, Arcade Buttons mit gpiozero, commands per subprocess / check_call)

    Dateien

    Einmal editiert, zuletzt von mkaiser () aus folgendem Grund: code FYI angehängt

  • Leider hatte ich heute erst Zeit mit dem Projekt zu beginnen.

    Ich gehe nach der Anleitung von hailogugo vor, habe aber gleich ein Problem.

    Da dies bestimmt nicht mein letztes Problem sein wird, habe ich im Bereich "laufende Projekte" einen eigenen Thread "Jukebox mit RFID".

    Es würde mich freuen, wenn Ihr mir dort weiterhelfen könntet.


    hailogugo, deine Anleitung basiert doch auf Python 2, oder?

    Aktuell ist doch die Version 3. Gibt es einen Grund warum die Version 2 verwendet wurde?

  • Dellex


    Die Befehle funktionieren in beiden Python Versionen.


    Mit der Angaben #! (Gibt es einen Fachbegriff für) kannst beim starten des Skriptes festsetzen mit welchem Programm bzw. Welcher Python Version die Datei ausgeführt wird.

  • Hallo zusammen,


    Vielen Dank für die super Beschreibung. Softwareseitig ist für mich alles klar (hier fühle ich mich sicher). Auf der Hardware Seite bin ich Laie und hätte daher ein paar Fragen zur Verschaltung der Widerstände:


    Ich habe versucht mich schlau zu machen und bin auf Pullup/Pulldown Widerstände gestossen um einer GPIO einen definierten Wert zuzuweisen (falls jemand Anfänger wie ich ist, hier der Link: https://www.elektronik-kompend…/raspberry-pi/2006051.htm).


    Nun sehe ich in der Schaltung von, dass für Schalter S1 offenbar zwei Widerstände verwendet werden. Den 10k Widerstand erkläre ich mir als Pullup gegen die 3,3V Eingang. Ich sehe einen zusätzlichen Widerstand (1k) der gegen den Eingang GPIO geschalten wird. Welchen Zweck hat dieser Widerstand?


    Mich wundert dies dann vor allem, wenn ich mir den Schalter S6 ansehe. In meiner Naivität, hätte ich erwartet, dass der Schalter an der gleichen Position wie S1-S5 sitzt. Zudem hätte ich dann auch die gleiche Verschaltung (sprich mit zusätzlichen Widerstand erwartet). Danach sehe ich den Schalter S7. Dieser scheint komplett ohne Widerstand geschalten zu sein.


    Ihr seht, blutiger Anfänger. Ich hoffe meine Fragen sind nicht unklar formuliert. Habt ihr potentiell einen guten Tipp was ich lesen kann um mir selbst die Lösung zu erklären oder sind meine Fragen derart einfach, dass diese schnell beantwortet sind?


    Vielen Dank!

  • Kannst Du mir bitte helfen und "sagen", welche Du S1-S5, S6 und S7 Du meinst? Da ich mir keine jukebox bauen möchte, habe ich auch nicht alle Beiträge gelesen.

    Der zusätzliche Widerstand vorm GPIO hat unter anderem den Grund, dass du bei falscher Ansteuerung des GPIO (Ausgang anstelle von Eingang) diesen nicht gleich beim Betätigen der Taste zerstörst. Der Widerstand gegrenzt in diesem Fall den Strom so weit, dass der GPIO das überlebt. Es gibt auch noch weitere nicht so relevante Gründe (z.B. dass der GPIO robuster gegenüber ESD Entladungen wird.)

    ...wenn Software nicht so hard-ware ;-) ...

    Freue mich über jeden like :thumbup:

  • Ich versuche es mal über das Handy zu erklären.


    Schalter S7

    Dies ist eine Funktion, welche der Pi mitbringt. Es ist ein Hardreset. Dies muss so verschaltet sein. Wie der Resetknopf früher an jedem PC.


    Schalter S6

    Dies ist auch eine Definition des Pis. Hier muss der Pin auf Null gezogen werden. Bei einer Messung mit einem Multimeter stellt man fest dass der Pin da er auch für ein Protokoll bei ca 2V arbeitet.


    Schalter 1-5

    Die 10kOhm sind dafür da das ein möglichst geringer Strom fließ um den Pin auf high zu halten. Gleichzeitig würde man sonst einen Kurzschluss bei betätigtem Taster verursachen 3,3V gegen GND.


    Die 1kOhm Widerstände verhindern ein Highzustand Order Löw Zustand der Pins durch Strahlung oder sonstiges wie die internen Pullup Widerständen.




    Ich hoffe die Aussagen sind so richtig.

  • wow ihr seid spitze.


    hailogugo : vielen Dank für die schnelle Beschreibung. Das hilft mir sehr. Ich bin gespannt ob ich das aufgebaut bekomme. Alles bis auf die Verdrahtung steht bereits ;)


    VeryPrivat : Meine Frage bezog sich auf den Guide von hailogugo (Post #207 nhttps://forum-raspberrypi.de/forum/thread/13144-projekt-jukebox4kids-jukebox-fuer-kinder/?postID=314919#post314919 Kapitel 19, Seite 13). Vielen Dank für deine Hilfe.

  • Ich meinte eigentlich einen Link oder die Nummer des Beitrages von dem Schaltplan von dem Du sprichst, bitte. Bei einem Resetpin ("S7") besteht die Gefahr nicht, dass dieser als Ausgang geschaltet wird, daher ist kein Widerstand vor dem GPIO notwendig.

    S1-S5: Ja, die 10kOhm müssten dazu da sein, dass der Eingang definiert auf 3,3V (so wie ich es von Dir lese) liegt und nicht "floated", wenn keine Taste betätigt ist. Wird die Taste betätigt, fließt ein kleiner Strom durch den Taster und...

    Vergiss das mit der ESD vorerst mal - das ist ein Detail. Die 1K Widerstände verhindern, dass der GPIO bei falscher Konfiguration ggf. sterben könnte, da diese den Strom auf ein erträgliches Maß (max. 3,3mA) reduzieren... Mehr könnte dem GPIO schaden...
    Edit: Habe den Beitrag von hailogugo als Frage interpretiert und darauf geantwortet, daher die Wiederholung...

    ...wenn Software nicht so hard-ware ;-) ...

    Freue mich über jeden like :thumbup:

  • So habe jetzt auch eine Lösung für das PowerBank Problem, wenn der Netztstecker abgezogen oder angesteckt wird, damit der Pi nicht neustartet.


    Ich habe einen Kondensator/ELKO (Ich bin eine eleketrischer Laie) mit 10000uf und 6,3V an Pin 4 und 6 angeschlossen. Dies habe ich irgendwo gelesen in den vergangenen Tagen. Davor wird noch eine Spule eingebunden, da sonst der Pi durch die Stromaufnahme des Elkos beim laden überlastet wird.


    Teile bei Reichelt gekauft:

    Spule L-07HCP 33mü 1,5A

    Link


    Elko 10.000uf 6,3V

    Link



    Kann mir auch Jemand vielleicht sagen wo man solche Teile günstiger herbekommt? 5,60€ Porto hauen echt rein, bei solchen Kleinteilen.


    Habt ihr noch Alternativen an größeren Kondensatoren?


    Habe auch ein Bild und ein Video gemacht.


    Video


    Man kann im Video durch die LEDs der PowerBank gut erkennen, wann diese geladen wird bzw., wann diese aktiv ist.

  • Hallo zusammen,


    Erneut vielen Dank für die Hilfe. Ich habe nun die Verschaltung sehr gut hinbekommen.


    Ich bin nun dran den HifiBerry zu verschalten. In der Anleitung von hailogugo (Hier der Direktlink: Anleitung Jukebox Micz Flor mit Buttons v2 .pdf) wird dieser Part kurz beschrieben.


    Ich kann erkennen, dass der HifiBerry über eine weitere Platine angeschlossen worden ist anstatt direkt "eingesteckt" zu werden. Der Hintergrund ist klar, da der Standard-Anschluss der HifiBerry sämtliche GPIOs belegt. Ich habe versucht herauszufinden wie die Verkabelung korrekterweise erfolgen muss, werde jedoch noch nicht schlau.


    Auf den Seiten von Hifiberry (https://www.hifiberry.com/buil…usage-of-hifiberry-boards) heißt es, dass nur die GPIO2-3 und 28-31 verwendet werden. Aus der Anleitung verstehe ich, dass du hailogugo die Pins 1,3,5,19,21,23,27,35,4,6,12,24,26,28,38 und 40 verwendest. Ich verstehe nun nicht ob diese Pins benötigt werden und - falls ja - wie die Verschaltung gegen die HifiBerry aussehen müsste.


    Vielen Dank!


    PS: Ich kann gerne helfen meine Erkenntnisse in die Anleitung zu integrieren um den Nachfolgern zu helfen. Vielleicht wäre es hilfreich diese tolle Anleitung in ein GitHub Projekt auszulagern (oder bei MiczFlor Projekt einzubinden: https://github.com/MiczFlor/RP…FID/blob/master/README.md) Was meint ihr?

  • Bugsy

    Grundsätzlich kannst du gerne mir Infos geben was dir ggf fehlt.

    Ich bin momentan mit einer Version 2 beschäftigt und erweitere die Anleitung.


    Das mit auf Github eintragen habe ich noch nicht ganz verstanden und ich hatte auch noch keine Lust mich damit auseinander zu setzen.


    Zum hifiberry

    Ich habe mich auch mit deren Seite und Informationen beschäftigt. Wie auch du habe ich gesehen das nur ein paar belegt werden aber dem ist nicht so, da in deren Aufzählung schon die Stromversorgung fehlte.


    Ich habe die aufgezählten Pin verwendet weil sonst der amp. Bei mir nicht tat.


    Warum ich das mit der extra Platine gemacht habe ist einfach. Ich wollte gerne den hifiberry aufstecken gleichzeitig kann man aber nicht die durchgeschleiften Pins des hifiberry mehr verwenden weil die Stifte zu kurz sind.

    Ich gehe jetzt vom pi auf die hifiberry extra steckplatine und für die Schalter vom pi auf eine zweite Platine.


    Die Pins werden einfach durchgereicht also Pin 1 pi an Pin 1 hifiberry und so weiter. Die extra Platine ist so aufgebaut das in der Mitte 40 Pins zum aufstecken des hifiberry sind und ich habe dann zum äußeren Bereich nur die pins die benötigt werden über die Rückseite der Platine verbunden. So kann der hifiberry aufgesteckt werden und über Verbindungsbrücken die separate Platine mit dem pi verbunden werden.


    Ich hoffe es ist jetzt besser verständlich.

  • Es kam wie es kommen musste...ich scheitere an der Software...


    Die Idee mit dem X400 Board habe ich verworfen, da ich dort, außer rauschen, nichts heraus bekommen habe. Demnächst werde ich eine USB-Soundkarte kaufen.


    Zum Testen nehme ich erstmal den Onboard-Sound des Raspi.


    Den MPD habe ich installiert bekommen, scheitere aber daran einen passenden Client zu finden... Welchen habt ihr genommen?


    Wenn ich den Cleint am laufen habe, müsste ich diesen noch so konfigurieren, dass er auf den RFID-Reader hört.


    Das nächste Problem macht mir der USB-RFID-Reader. Am Windows PC wird nach dem einlesen ein "Enter" ausgeführt, am Raspi aber nicht. Liegt es eventuell an der Keyboard-konfiguration?


    Wenn ich die oben genannten Sachen am laufen habe, werde ich mich den Tastern beschäftigen.

  • Ich antworte mir mal selbst:


    Natürlich habe ich auch MPC installiert, nun weiß ich auch wie es bedient wird! :-)


    Der RFID-Reader macht auch wieder was er soll. Abstecken -> anstecken brachte erfolg!


    Samba läuft, Mono ist installiert!


    Ich würde nun gerne dieses Script nutzen: https://github.com/mwiedemeyer/RaspiMusicBox


    Das ist die nächste Hürde: Wo wird es hinkopiert und wie starte ich es automatisch?


    Das anpassen der Taster ergibt sich aus der Datei pyjukebox.py. Das sollte soweit für mich selbsterklärend sein.

  • Hast du meine Anleitung mal durchgeschaut? Funktion ist ähnlich vom RFID Player . Es hat sogar ein webinterface.


    Die Anleitung findest du ein paar Beiträge vorher. Im Github Projekt von Micz Flor ist auch alles gut erklärt.



    Achso für die anderen. Das Problem mit dem webinterface ist nun auch geklärt.


    Jukebox mit RFID

  • hailogugo : natürlich habe ich deine Anleitung übersehen... sieht für mich als absoluter Anfänger super aus! Herzlichen Dank!


    Allerdings habe ich das mit den Widerständen immer noch verstanden. Lasse ich sie weg, raucht mir der Raspi ab? Oder passiert das nur bei falscher Verdrahtung?


    Wenn dem so ist, könnte man dann nicht einfach je einen 10kΩ Widerstand hinter Pin 39 und Pin 17 legen und alles ist gut?


    Edit: umso länger ich mir die Verschaltung anschaue, je weniger verstehe ich sie. Recht es nicht die GPIO Pins gegen GND Pin 39 zu schalten? Wozu liegt die Spannung von Pin 17 an?

    Einmal editiert, zuletzt von Audiofreund ()