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