wie im Titel schon steht, suche ich ein MP3-Playermodul, welches man über I²C ansteuern kann.
Zuerst war mir das DFPlayer-Modul ins Auge gefallen, aber das lässt sich leider nur per serial ansteuern.
Ich benutze einen ESP32 mit 2 seriellen Schnittstellen. Allerdings ist die serial1 ja als debugschnittstelle genutzt und die Pins für serial2 habe ich bereits anderweitig verwendet und auch keine pins mehr frei.
Was mir noch einfällt wäre, Bluetooth am ESP zu aktivieren und über bluetooth-serial mit dem DFPlayer zu kommunizieren, wofür ich dann aber auch noch ein Bluetooth-Modul für den DFPlayer bräuchte.
Ich muss nur ein paar wenige Clips (4-6 verschiedene) abspielen.
Eigentlich wäre mir jede nicht zu komplizierte oder aufwändige Idee recht, am liebsten wäre mir allerdings ein MP3-Player, den ich über I²C steuern kann, da ich den I²C-Bus sowieso benutze.
An diese Möglichkeit habe ich noch gar nicht gedacht. Ich hab zwar keine Tinys hier, aber noch einige Arduino Nano clones, mit denen das auch gehen müsste.
Ich glaub, da extra eine Platine für zu entwerfen, wäre mir dann doch etwas zu aufwändig.
Aber einen Nano zum Übersetzen nehmen, wäre wohl die zweitbeste Lösung.
Ne TOP - Qualität hat das nicht, da gebe ich dir Recht.
Aber mit den Berühmten DF-Robots-Player kann das locker mithalten.
Und zu dem Teil gibt es einige (allerdings nicht preiswerte) Alternativen.
Man kann ja auch den ESP32 mit einen BT-Lautsprecher verbinden. Dann bekommt man einen besteren Klang. Es ist halt wie bei einer Stereoanlage. Der Verstärker macht den Klang.
"ESP32" bezeichnet mittlerweile eher eine Prozessorfamilie, welchen µC genau verwendest Du?
Wäre ein Wechsel auf einen anderen ESP32 möglich?
Diese Aussage irritiert mich. Wenn Du mit "debugschnittstelle" den Anschluß am PC für den seriellen Monitor der IDE meinst, dann ist das eher UART0 oder Serial.
Ja, am I²C hängt ein TOF-Entfernungsmesser. Und dazu kommen noch zwei Drucksensoren mit HX710, die auch jeweils zwei Pins benötigen. Dazu noch ein Stepper und diverse digitale Ein- und Ausgänge. Daher sind alle benutzbaren Pins belegt, selbst die input only Pins sind bereits mit Eingängen belegt.
Ja, richtig. Gemeint habe ich UART 0. Der ESP hat UART0 und UART2 (warum auch immer die den 1 ausgelassen haben...).
Die Pins von UART2 sind auch schon belegt.
Ich verwende diesen ESP:
Ein Wechsel wäre nicht unmöglich, aber da ich bereits alles auf Lochraster habe, nicht so einfach.
i2c ist ein BUS. Da gibt man die Adresse an, und alle Bits fahren auf den selben Kabel. Im Zweifelsfall via Port-Expander. Den man für ca. 2 Euro auch zum Stecken bekommt.
Deshalb habe ich im Ausgangspost ja nach einem MP3-Player gesucht, der I²C versteht und ein paar Posts weiter (in #3 und #8) geschrieben, daß ich es entweder mit einem Arduino Nano als Übersetzer oder einem PCF8574 probieren werde, wie andere weiter oben schon vorgeschlagen haben??
Ich habe mich nur gefragt wieso du so viele Pins verbrauchst.
Entweder das Gerät hat seine eigene Adresse, dann reicht es wenn man es MIT an die 2 Pins anklemmt, oder das Gerät (wie meine Tastatur) hat keine Adresse dann wird halt die Adresse des Port-Expander benutzt.
Egal was auch immer. Am MC sind nur 2 Pins belegt.
Doch, an GPIO25 und GPIO26 (die Du nicht frei hast, ich weiß).
Unter der Annahme, es gibt keinen Player mit I²C, kannst Du die an Portexpander mit I²C umlegen?
Dann könntest Du mal abschätzen, ob ein Umstieg auf einen ESP32-S3
mit I²S mit Verstärker letztlich nicht einfacher ist, als andere Alternativen zu realisieren.
Den Tipp hast du ja schon abgespeichert.
Nimm einen MCP23017 und du hast gleich reichlich freie GPIOs zu verfügung. Evtl. kannst du dadurch auch GPIOs am ESP32 frei bekommen und den DFplayer direkt per SoftwareSerial steuern.