OLED Display für die Phoniebox

  • Ich kenne das Problem. Das hängt irgendwie mit dem MPD zusammen und nur bei bestimmten Tracks. Es kommt sehr selten vor und nach einem Neustart funktioniert immer alles. Ich hab die Ursache noch nicht gefunden, kann ggf. an Sonderzeichen liegen, aber wie gesagt, ich finde die Ursache nicht... Wenn Du sowas hast, mal mpc ausführen und die Ausgabe hier loggen bitte ;-)


  • Hallo Splitti

    Du hast recht, das Problem hat mit den Sonderzeichen zu tun. Wenn ich bei Tracks, bei denen auf dem Display nichts angezeigt wird in der Shell mpc ausführe, kommt eine fehlerhafte Ausgabe an Stellen, wo sich ein ä, ö oder ü befindet. Eine Idee wie man dies beheben könnte?

  • Hi


    Bin dieses Projekt jetzt auch mal angegangen, da der Sound der Phoniebox mit einem HifiBerry um längen besser ist als der mit einer USB Soundkarte wollte ich mal das versuchen.

    Leider scheint es aber Probleme mit der OLED Ansteuerung zu geben, wenn der HifiBerry DAC+ dran ist wird zwar das Display angesteuert aber zeigt nur den Startschirm (die Musiknoten) und Play oder Stop aber die Titelanzeige geht nicht. Zur gegenprobe habe ich das System mal auf eine USB Soundkarte umgestellt und den HifiBerry abgesteckt, dann geht auch die Titelanzeige.

    Hat schon mal jemand das OLED Display Projekt von Splitty79 mit einem HifiBerry vollständig zum laufen bekommen?

    Bye

    Hans

  • Ich selber hab den Hifiberry MiniAmp. Damit funktioniert es bestens. Was mich wundert, dass etwas angezeigt wird. Das hat dann eher etwas mit dem MPC-Service zu tun. Kannst Du bitte mal folgende Ausgabe bei angeschlossenem Hifiberry und einmal mit Soundkarte abfragen, wenn Deine Phoniebox etwas abspielt:


    Code
    mpc status


    Poste bitte die beiden Ergebnisse, ich kann mir aktuell keinen Reim darauf machen. Wenn die Musiknoten angezeigt werden, ist eigentlich etwas nicht richtig geladen (MPC) oder Sonderzeichen im Track.

  • Hi spiltti


    Habe jetzt den HifiBerry wieder angesteckt und alles so angeschlossen wie vorher, wieder zeigt das Display nur die Noten und je nach Tastendruck das Play oder Pause Zeichen an, die Titelinformationen werden beim spielen eines Titel nicht angezeigt.


    Beim abspielen eines Titel kommt mit dem Befehl "mpc status" das raus:


    pi@PhonieBox:~ $ mpc status

    Queen - A Kind of Magic

    [playing] #1/17 0:50/4:23 (19%)

    volume: n/a repeat: off random: off single: off consume: off


    Sonderzeichen sind da keine und mpc scheint auch zu funktionieren, hätte mich auch gewundert denn die Titel werden ja ohne HifiBerry angezeigt.

    Die Musiknoten werden nach dem start aber immer angezeigt, mit und ohne HifiBerry, erst wenn man einen Titel abspielt wird der angezeigt wenn der HifiBerry ab ist, zudem ist mir ist auch aufgefallen das bei mir nie dieses RFID Kartensymbol auftaucht (weder mit HifiBerry noch mit USB Soundkarte).


    Das bei mir die Wifi Balken nicht angezeigt werden hat wohl eher den Grund das ich den "hostapd" eingerichtet habe, wenn ich die Next Prev Tasten gleichzeitig lange drücke kommt auch nicht der Info-Screen sondern nur die Musiknoten und ich kann dann auch nicht mehr zurück zur Titelanzeige, kann aber auch sein das dies wegen des hostapd ist.

    Edited 3 times, last by hansi9990 ().

  • Das kann gut sein. Hab noch eine Vermutung betreffend Der Titelanzeige. Manchmal laden die Dienste zu schnell und haben dann auf gewisse Funktionen keinen Zugriff, kann es gerade nicht besser beschreiben. Also könntest du versuchen eine Abhängigkeit vom mpc zu schaffen, dass das Display erst lädt, wenn der mpc Service gestartet ist.

    Unter Unit in der Service Datei müsste dann require oder so stehen. Musst du mal etwas recherchieren. Aber das ist mein reines Bauchgefühl.

    Bestätigen kannst du es, wenn du den Service einmal neu startest und es dann funktioniert...

  • Einen neustart des Service habe ich gemacht, da hat sich nichts geändert deshalb glaube ich nicht an ein Probelm mit dern Abhängigkeiten.


    Mir ist gerade aufgefallen das sich die Lautstärke über das WebIf nicht verändern lässt, ich befürchte das irgendwas mit der HifiBerry (DAC+ Light) Konfiguration nicht passen könnte.

    Kannst du mir sagen wie du den HifiBerry HAT konfiguriert hast?


    Ich habe in der /boot/config.txt die Zeile

    dtoverlay=hifiberry-dac

    hinzugefügt und die

    #dtparam=audio=on

    auskommentiert.


    Dann habe ich die /etc/asound.conf mit diesen Einträgen erstellt:


    pcm.!default {

    type hw card 0

    }

    ctl.!default {

    type hw card 0

    }


    Ein cat /proc/asound/modules ergibt:


    0 snd_soc_rpi_simple_soundcard


    und

    amixer scontrols

    Simple mixer control 'Master',0

  • Aah Stop, ich habe das Problem gefunden und behoben, in der mpd.conf musste ich den audio_output noch anpassen, so ging es dann:


    audio_output {

    type "alsa"

    name "HifiBerry DAC+"

    mixer_control "Master" # optional


    und das oled zeigt jetzt auch die Titel an und wenn man im WebIF den Stop Knopf drückt dann wird auch das RFID Kartensymbol angezeigt.

  • Nochmal Danke für deine Unterstützung.

    Habe es zwar gerade in einem anderen Beitrag gefragt aber ich wollte dich mal dirket zu deinem Akku befragen, muss man bei dem von dir eingesetzten EasyAcc 20000 Akku auch den Ein-Knopf drücken damit die Spannung an der USB Ausgängen anliegt?

    Das wäre unschön da man dann immer zwei Knöpfe zum Einschalten der PhonieBox drücken müsste, das Problem habe ich bei meiner "AUKEY Powerbank 20000".

  • Hallo,


    ich habe mir mal die Anleitung (Blog usw.) von splitti79) angesehen und auf Basis dessen eine Platine entworfen.

    Die Box selbst habe icha uch schon mit der Anleitung von MiczFlor gebaut, musste aber auf Grund verschiedene Probleme im Betrieb alles nochmals neu aufbauen. Daher wollte ich das ganze nun mal etwas aufräumen und eine vernünftige Platine rein basteln. Ebenfalls hatte ich bislang kein OLED-Display /On/Off-Shim/HiFiBerry. Aus diesem Grund wird die Schaltung ja nun etwas komplizierter. In KiCad habe ich das ganze mal aufgemalt und entsprechend eine Platine druas gebastelt. Wo ich Probleme sehe ist bei folgenden Punkten:


    1. Der OnOff/Shim belegt die Pins 11/7/1/2/6 laut Anleitung Splitti. Diese Pins stehen demnach für keinen anderen Anschluss mehr zur Verfügung bis auf GND/3,3v/5,5v. Die 3,3v benötigt der OnOff-Shim wohl für die blinkende LED oder so. Ist das so korrekt?


    2. Die Belegung für die Taster ist sowohl laut splitti als auch MiczFlor auf die unteren GPIO-Pins festgelegt. D.h. GPIO 17/27/26 usw.. Diese werden jedoch bei Verwendung des HifiBerry zwangsweise durch diesen belegt. Der HiFiBerry kommt ja mit einer PinHeader Leiste 2x20. Ist das richtig, dass von diesen auch nur insg. 6 Pins (siehe Schaltbild) verwendet werden müssen? Meine herangehensweise wäre dann einen 2x20 Sockel auf die Platine zu löten bei der die relevanten Kontakte einfach zur Pi-2x20-Buchse durchkontaktiert sind so dass ich den HifiBerry einfach auf meine Platine stecken kann.


    3. Die Taster musste ich nun zwarngsweise wegen der Verwendung des HifiBerry auf andere GPIO-Pins legen. Geht das so einfach? Theoretisch kann ich ja später im Code einfach die entsprechenden GPIOS zuweisen oder?


    Vielleicht möchte sich mal jemand die Zeit nehmen und die Schaltung (JukeBox.pdf im Anhang) angucken, ob das rein theoretisch alles so gehen müsste oder ob iwo nen Fehler drin steck?

    Ich wäre für Feedback sehr dankbar.


    Files

    • JukeBox.pdf

      (38.13 kB, downloaded 77 times, last: )
  • Bei den Tastern hast du das Problem. dass diese prellen. Du kannst das entweder in Hardware mit einem Kondensator oder in Software mit einer "Wartezeit" lösen. In beiden Varianten geht es darum die Zeit vom ersten Impuls bis zum Abklingen des Prellens zu überbrücken.

    Glaube ersetzt kein Wissen

  • Ich würde mich sehr über eine Rückmeldung hierzu freuen, bevor ich die Platine bauen lasse :)

    muss ich mal auf die Platine schauen, braucht etwas Zeit, aber "OLED Display für die Phoniebox"

    Oled halte ich nicht für besonders sinnvoll wegen der sich verbrauchenden Leuchtschicht, es sei denn du willst

    1. das Oled immer nach 1 Minute dunkelschalten.

    2. Den Text oder die Grafik immer pixelweise verschieben, das nicht immer nur dasselbe Pixel leuchtet.


    Platine?

    ich sehe kein Schaltplan, ich sehe keine Leiterbahnen, was soll man dazu sagen? "schön 3D gerendert"

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Ich würde mich sehr über eine Rückmeldung hierzu freuen, bevor ich die Platine bauen lasse :)

    Hast Du die Komponenten mal so, wie der spätere Aufbau mit der Platine sein soll, lose (oder mit Steckbrett) verdratet, die Software angepasst und getestet? :geek: Ich glaube nicht, dass das jemand für Dich übernimmt.


    bombom Das kann man falls die Taster wirklich prellen sollten auch im Skript ganz gut über den Parameter bounce_time erledigen. Siehe das API hier: https://gpiozero.readthedocs.i…ble/api_input.html#button ;)

  • jar: ich hatte doch eine PDF angehängt. Da ist doch der Schaltplan drin.

    hyle: ja habe ich, scheitere aber gerade leider an raspbian buster. Setze gerade alles nochmals mit dem MiczFlor empfohlenen release auf.

    Bzgl. der Schaltung ist mir bereits ein dreher von der 2x20 Pin header zum 2x20 sockel für den HifiBerry aufgefallen.


    Mir ging es schlicht darum, dass mal jemand drüber guckt der nicht schon 10 Stunden sich das angeguckt hat und ggf. weitere Fehler findet. Theoretisch ist es alles so aufgebaut wie auch Splitti es gemacht hat. Verstehe gerade nicht warum nun ein OLED schlecht sein soll wenn der Thread doch genau darauf hin abgezielt hat. Das mit dem Prellen muss ich mir erst mal angucken - bin kein E-Techniker. Prinzipiell sind aber auch die Taster so verdrahtete, wie sie auch MiczFlor verdrahtete hatte.

  • jar : ich hatte doch eine PDF angehängt. Da ist doch der Schaltplan drin.

    is klar.....:conf:

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • jar: hilf mir auf die Sprünge, ich verstehe dein Anliegen gerade nicht.

    bombom: habe mir das mal angesehen (wie gesagt bin kein E-Technik): Wenn man das über die Sofware (vorschlag hyle) abfangen kann wäre das ja sicherlich am einfachsten oder?


    Ich wäre euch dankbar, wenn ihr mir hinsichtlich der oben beschriebenen Fragen helfen könntet:


    Quote

    1. Der OnOff/Shim belegt die Pins 11/7/1/2/6 laut Anleitung Splitti. Diese Pins stehen demnach für keinen anderen Anschluss mehr zur Verfügung bis auf GND/3,3v/5,5v. Die 3,3v benötigt der OnOff-Shim wohl für die blinkende LED oder so. Ist das so korrekt?


    2. Die Belegung für die Taster ist sowohl laut splitti als auch MiczFlor auf die unteren GPIO-Pins festgelegt. D.h. GPIO 17/27/26 usw.. Diese werden jedoch bei Verwendung des HifiBerry zwangsweise durch diesen belegt. Der HiFiBerry kommt ja mit einer PinHeader Leiste 2x20. Ist das richtig, dass von diesen auch nur insg. 6 Pins (siehe Schaltbild) verwendet werden müssen? Meine herangehensweise wäre dann einen 2x20 Sockel auf die Platine zu löten bei der die relevanten Kontakte einfach zur Pi-2x20-Buchse durchkontaktiert sind so dass ich den HifiBerry einfach auf meine Platine stecken kann.


    3. Die Taster musste ich nun zwarngsweise wegen der Verwendung des HifiBerry auf andere GPIO-Pins legen. Geht das so einfach? Theoretisch kann ich ja später im Code einfach die entsprechenden GPIOS zuweisen oder?

  • MrBrown997 Wooow, klasse Idee! Aber meine Box ist eine von vielen und keine Mainstream-Box. Wenn Du so eine Plantine bauen lässt, kostet das doch auch ne Menge Geld... Lohnt sich das? Ich finde es halt klasse, dass jede Box ein Unikat ist. Klar darf abgekupfert werden, aber kein MUSS ;-) Aber würde mich selber über so ne Platine freuen, spart deutlich Platz ;-)


    jar Das Script dazu habe ich halt geschrieben, nachdem ich auch ein anderes Display getestet hatte, welches mir aber viel zu hell und klobig schien. Irgendwann bin ich bei diesem OLED-Display gelandet. OLED hat Nachteile, aber eben auch Vorteile. Mit wenig Helligkeit wird ein super Kontrast erzielt und für die notwendigen Infos reicht das kleine Display dicke... Hast Du Dir das Display angeschaut? Vielleicht hast Du auch noch ein paar Themen, die mich umstimmen, allerdings bin ich momentan sehr zufrieden mit dem Display in der Box...