Freitag, 15. Juli 2022

Jukeboxmodell Wurlitzer OMT mit Raspberry Pi

 

auf github findet man eine Bauanleitung für eine Jukebox:

Modern Jukebox

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

das 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?

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 bei mir 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.


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.


 

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.


 

die Nähte des Korpus werden später mit Zierteilen verdeckt


 




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. 

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.


 

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 werde ich aber der Funktion entsprechend noch 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 .

 

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 billiger 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.

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

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.

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

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 (im Moment 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


 


 

 


noch etwas zum Zusammenkleben der 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.

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.


 

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. 

Die Jukebox hat jetzt trotz vorheriger Zweifel eine Ilumination bekommen. 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 mein 3-Kammer-Netzteil, in Wagenfarbe. Es sind nur 2 Kammern bestückt. Die NF wird hier vom Rapsberry-Netzteil mitversorgt.


 


 





















Keine Kommentare:

Kommentar veröffentlichen