Radio-Bastler-Forum (RBF)

Normale Version: Jukeboxmodell Wurlitzer OMT mit Raspberry Pi
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Auf github findet man eine Bauanleitung für eine Jukebox:

Modern Jukebox

Aus dem Volumino-Projekt habe ich aber ein fruitbox-Projekt gemacht.

Gehäuse

Der Druck der vielen Einzelteile war etwas aufwändig. Es gab einige Fehldrucke und viel Druckzeit war nötig. Die Dokumentation ist zwar umfangreich, das Bildmaterial aber eher dürftig. Modifiziert habe ich lediglich das Frontteil "Arch", weil ich einen abweichenden Bildschirm eingesetzt habe.

Anprobe der Einzelteile. Wie kommt alles zusammen, passen die Teile, wie halten sie zusammen?

[attachment=119391]

Heute würde ich anders anfangen. Nämlich von unten nach oben. Das wusste ich hier noch nicht. Der Fuß (base) war noch gar nicht gedruckt. Eines der Teile die nur der Chiron drucken kann. Der war zeitweise ausser Gefecht weil ich das Hotend mit falschen Teilen zusammengebaut habe. So hatte ich beim Zusammenkleben des Korpus etwas Schiefstand eingebaut und musste diesen durch Nacharbeiten den Bodens (bottom) wieder ausgleichen. Das kann nicht passieren wenn man mit der base anfängt. Auch der Assembly Guide weist auf die Reihenfolge nicht hin.

[attachment=119392]

Hier bemerkte ich dass die USB-Ports kaum noch zugänglich sind. Im Original sitzt der Raspberry auf dem bottom-Teil. Ich konnte mir aber mit Winkeladaptern behelfen.

[attachment=119393]

Zwischendurch konfigurierte ich an der Applikation. Hier mit der offiziellen Raspberry Tastatur. In der Entwicklungsphase ein starkes Werkzeug. Sie ist handlich und stellt an der Rückseite weitere USB-Ports zur Verfügung.

[attachment=119394]

[attachment=119395]

Die Nähte des Korpus werden später mit Zierteilen verdeckt.

[attachment=119396]

[attachment=119397]

[attachment=119398]

[attachment=119399]

Skin und Bedienkonzept

Das eine hängt direkt mit dem anderen zusammen. Ich legte mich fest auf den Skin WallSmall. Dieser hat keine touch-Bedienung, kommt aber mit 4 Wahltasten aus (1 bis 4). Versuche mit einer Mini-Bluetooth Tastatur waren auch erfolgreich. Sie ist kaum größer als eine reguläre Fernbedienung.

[attachment=119400]

Ich wollte aber richtige Tasten an der Box. Platz gab es noch in dem oberen halbrunden Ausschnitt. Für die komplette Bedienung der Box genügen 9 Tasten. Wenn man auf die Warteschlange (play queue) verzichtet kommt man auch mit 8 Tasten aus. Mit play queue ist die Box aber authentischer. Man kann die Titel dann vorwählen und sie werden nacheinander abgespielt. Eine Skip-Taste dient zum Abbruch des laufenden Titels. Für Internetradio unverzichtbar, weil der Stream ja kein Ende hat. Ich habe also jetzt die 4 Vorwahltasten, dann Lautstärke+ und Lautstärke-, die Skip-Taste und 2 Tasten um die titel-stripes zu bewegen.

[attachment=119401]

Auf dem Bedienfeld geht es etwas eng zu. Lieber hätte ich richtige Arcade-Taster genommen mit Lichteffekten. Ich hab auch keinen Platz für eine Beschriftung. Die Tasten will ich noch der Funktion entsprechend farblich absetzen.

Die Abfrage der Tasten hätte ich über gpio's erledigen können. Die no-delay-Platine fand ich eleganter, und muss dann nicht die Leitungen am Display anlöten (die gpio's sind dort auf Lötpads geführt). Und inzwischen hab ich auch mehrere no-delay-Platinen auf Lager. Beschreibung siehe meinen fruitbox-Grundlagen-thread (post#3).

[attachment=119402]

Tonausgabe

Bei einem HDMI-Display mit Audiobuchse nimmt man natürlich von dort den Ton ab. Man hätte die beste Qualität und keine Konfigurationsarbeit. Hat mein Display aber nicht. Der Headjack des Rasberry liefert die schlechteste Qualität. Bleibt noch ein HAT oder eine USB-Soundkarte. Meine Lösung sieht folgerndermaßen aus:

Ich nahm einen Satz billige USB-Lautsprecher. Also echte USB-Lautsprecher. Keine bei denen USB nur der Spannungsversorgung dient und der Ton über Klinke eingespeist wird. Die echten USB-Lautsprecher haben im Prinzip eine USB-Soundkarte mit Audioverstärker und meist auch keine Lautstärkeeinstellung. Die Lautsprecher selbst klangen blechern. Aber ich nahm mir nur die Elektronik.

[attachment=119403]

Der dort eingebaute Chip AD6255 bietet alles was ich brauche. Hier das Datenblatt.

Zitat:

Zitat:AD62550 is a single chip of Class-D audioamplifier with USB/I2S interface

[attachment=119404]

Entsprechend gute Lautsprecher bringen auch die gute Klangqualität zur Geltung. Irgendwelche Störgeräusche sind nicht zu hören. Die Lautstärke ist mehr als Zimmerlautstärke. Ein 100mm Breitbänder strahlt nach vorne ab. Um auch den zweiten Kanal nutzen zu können habe ich einen zweiten 100er Lautsprecher in die Rückwand gesetzt.

[attachment=119405]

Die Installation der Audio-Platine:

Ermitteln der card-Nr. mit cat /proc/asound/cards (in meinem Fall 2) und Hinterlegen in der alsa.conf:

sudo nano /usr/share/alsa/alsa.conf

Zitat:..
Replace the lines near the end of the file:
defaults.ctl.card 0
defaults.pcm.card 0
with:
defaults.ctl.card 2
defaults.pcm.card 2..


Software

Chundermike empfiehlt als Betriebssystem "2022-01-28-raspios-buster-armhf-lite.img ".

Git muss nachinstalliert werden:

  sudo apt update
  sudo apt install git

  Ein sudo apt upgrade vermeidet man besser

LCD-Show als Treiber für Display und Touchpad wird installiert:

  sudo rm -rf LCD-show
  git clone https://github.com/goodtft/LCD-show.git
  chmod -R 755 LCD-show
  cd LCD-show/
  sudo ./LCD5-show


Denkt daran dass LCD-show ungefragt die rc.local zurücksetzt.

Es folgt die aktuelle Version (zu diesem Zeitpunkt 2.01) der fruitbox V2:

Siehe:  rpi-fruitbox-v2

Ein donate per paypal an chundermike ist freiwillig. Er hat es sich aber definitiv verdient.

Konfiguration der fruitbox

Die Konfiguration ist natürlich individuell. Meine gewählten Einstellungen sehen so aus:

Der automatische Start in der rc.local erfolgt ohne Parameter, da ich alles mit der fruitbox.ini im fruitbox-Verzeichnis steuere:

cd /home/pi/fruitbox
./fruitbox


Die Änderungen in der fruitbox.ini:

Die Einschaltlautstärke auf 40 und die Abstufung der Lautstärkeeinstellung etwas feiner als vorgesehen:

SongVolume = 40
SongVolumeStep = 5


Einschalten des attract-mode:

[attract mode]
  Enable = Yes


Dadurch werden zufällige Titel kurz angespielt wenn keine Auswahl getroffen ist.

Festlegung des Skin:


[skins]
  File = skins/WallSmall/fruitbox.cfg


Konfiguration der Taster (buttons, btn):


VolUp = BTN_THUMB2
VolDown = BTN_THUMB
..
Skip = BTN_TRIGGER
..
Left = BTN_BASE6
Right = BTN_BASE5
..
Select1 = BTN_BASE
Select2 = BTN_BASE2
Select3 = BTN_BASE3
Select4 = BTN_BASE4


Noch eine Bilderserie:

[attachment=119406]

[attachment=119407]

[attachment=119408]

[attachment=119409]

[attachment=119410]
Antwort auf die Anfrage welchen Drucker ich benutze.

Ich greife hier vor auf Bilder die eigentlich zu der zweiten Box gehören:

Falls du SLA drucken willst muss es ein Drucker in der Größe eines Anycubic Photon Mono X sein, also Bauvolumen: 192mm*120mm*245mm. Der Vorteil ist die Höhe. Alle Teile für die Box können hier positioniert werden:

[attachment=119411]

[attachment=119412]

[attachment=119413]

[attachment=119414]

[attachment=119415]

Hier druckt der Photon die Seitenteile mit farblosem Resin. Das Material bleibt leider nicht so. Beim Nachhärten verfärbt es sich etwas gelblich und wird trüber:

[attachment=119416]

Für die hier beschriebene Box benutzte ich ausschliesslich FDM-Drucker. Mein Flashforge Adventurer 3 ist zwar herrlich unkritsch, das Bauvolumen von 150*150*150mm reicht aber für keines der obigen Teile aus. Dafür musste dann der Anycubic Chiron herhalten. Der ist fast schon wieder überdimensioniert. Also ein normaler Mittelklasse-Drucker genügt für die Box.
Die Gehäuseteile habe ich zuerst mit Sekundenkleber fixiert, dann von innen alle Stöße mit Resin gefüllt und mit einer 405nm-LED ausgehärtet. Das ist sehr stabil geworden. Das Resin verbindet sich mit dem PLA sehr gut. Hier eine Innenansicht. Man sieht die Klebestellen da ich weißes Resin benutzt habe.

[attachment=119417]
Ich wollte einen weiteren Taster einbauen und fand keine bessere Stelle als unten rechts. Ja, jetzt wird es unübersichtlich. Es ist halt eine Box die nicht erst komplett geplant wurde, sondern Stück für Stück gewachsen ist. Wer weiß was mir noch alles so einfällt.

[attachment=119418]

Der neue Taster ist mit der Random-Funktion belegt. Die Zuweisung lautet:

Random = BTN_PINKIE

Beim Betätigen wird ein zufälliger Titel in die play-queue gestellt. Die queue habe ich dazu von 20 auf 50 erhöht mit dem Eintrag:

MaxPlayQueueLength = 50

Ich kann also jetzt durch mehrmaliges Betätigen die play-Queue mit zufälligen Titeln auffüllen und damit die Box auch mal ein paar Stunden alleine lassen ohne dass die Musik ausgeht.

Und jetzt kommt die Steigerung:

mit dem Eintrag:

LoopPlayQueue = Yes

wiederholt sich die komplette play-queue endlos!

Jetzt könnte man meinen, oh da muss noch eine Taste rein um die queue auch mal zu löschen. Ja, kann man machen, mit der ClearQueue Funktion. Unten links wäre noch ein Eckchen frei für einen Taster. Ein Druck auf die skip-Taste beendet aber zumindest den aktuell laufenden Titel und nimmt ihn automatisch aus der queue raus.
Auch diese Jukebox hat jetzt eine Ilumination bekommen. Diesmal ohne Soundsteuerung. Auf dem Arduino Nano läuft einfach nur die Beispielsoftware "Strandtest_wheel", die Bestandteil der Adafruit_NeoPixel-master library ist. Der Lichteffekt ist nicht so aufdringlich, weil hier ja die tubes aus weißem Material gedruckt sind, bei der blau/weißen Box hingegen aus weitgehend durchsichtigem Material. Es gibt auch nur den einen stripe in den tubes.
Die Box bekam ebenfalls das 3-Kammer-Netzteil, aber in Wagenfarbe. Es sind nur 2 Kammern bestückt. Die NF wird hier vom Rapsberry-Netzteil mitversorgt.

[attachment=119419]

[attachment=119420]

[attachment=119421]

[attachment=119422]

[attachment=119423]

[attachment=119424]

[attachment=119425]

[attachment=119426]

[attachment=119427]

[attachment=119428]

[attachment=119429]

[attachment=119430]

[attachment=119431]

[attachment=119432]

[attachment=119433]

[attachment=119434]

[attachment=119435]

[attachment=119436]

[attachment=119437]

[attachment=119438]




(Ton von YT ausgetauscht)
Ich will noch ein paar Worte zur Beleuchtung schreiben und noch einmal ein weiteres Video zeigen.

Im Original drehen sich in den OMT's motorisch angetriebene Farbrollen in den tubes und bubbler treiben Luftbläschen durch Röhrchen. Mehrere 110V-Glühbirnen sorgen für heftigen Stromverbrauch und heizen die Box auf. Zumindest kann man die Beleuchtung so umschalten dass sie nicht konstant eingeschaltet ist und sich nur während der Musikwidergabe zuschaltet. Eine Audiosteuerung gibt es ansonsten nicht. Um den Lichteffekt der Farbrollen zumindest ungefähr mit LED Stripes nachzubilden habe ich verschiedene Sketche durchprobiert. Am besten hat mir "Pride2015" von FastLED gefallen. Es ist ein ruhiger, gleichmässiger Farbwechslereffekt der keine Hektik verbreitet. Das will ich euch noch demonstrieren. Wegen den nicht sehr lichtdurchlässigen weißen tubes musste ich den Raum für die Handyaufnahme leicht abgedunkeln. Alternativ könnte ich die Helligkeit der LED's erhöhen. Sie steht aber schon auf 200 bei einem Höchstwert von 255 und man soll es nicht übertreiben.

Die Dimensionierung des Netzteils für LED-Stripes ist eine schwierige Sache und kaum zu berechnen. Zu viele Faktoren fließen da ein. Nicht nur die Helligkeit, auch die Art des Effektes. Ich habe 2A bei 5V festgelegt für ein WS2812B-Stripe mit 100 LED's. Peaks werden laut einer allgemeinen Empfehlung von einem 1000uF Elko abgefangen. Ich denke damit komme ich hin.

Noch ein Punkt ist zu beachten. Beim Hochladen des Sketches über USB muss der Stripe abgeklemmt sein. Zwischen USB-Port des nano und 5V-Pin sitzt ein noch nicht identifiziertes Bauteil welches sich auf einem meiner boards verabschiedet hat weil das Stripe noch angeklemmt war. Für den Betrieb wird das 5V Netzteil am 5V Pin angeschlossen und der Stripe vom gleichen Punkt aus versorgt. Natürlich nur bei 5V Stripes! Es gibt zumindest auch 12V-Ausführungen. Der Ansteuer-Pin des Stripe (Din) sollte nicht direkt mit dem Arduino-PIN verbunden sein, sondern über einen Widerstand irgendwo zwischen 330 und 500 Ohm laufen.

Jetzt aber endlich zum Video:


(Ton von YT ausgetauscht)