seit mehreren Jahren liegt hier ein angefangenes Projekt was ich gern mal zuende bringen möchte.
Im Grunde handelt es sich dabei um einen MP3 Player, mit Line-Ausgang.
Auf Knopfdruck soll ein bestimmtes mp3-File abgespielt werden.
Es gibt 16 Knöpfe, drei Ebenen (3 x16), ein paar LEDs und noch etwas Kleinkram.
Da alle Versuche in der Vergangenheit in keinem zufriedenstellenden Ergebnis geendet haben,
jetzt die Überlegung das mit folgender Hardware zu machen.
Adafruit – Shield Music Maker MP3 Für Arduino
Arduino Mega (wegen der Anzahl der Ausgänge)
Nun habe ich gesehen, es gibt verschiedene Mega. Um einen Fehlkauf zu vermeiden wollte ich mal fragen, welcher funktioniert.
In der Beschreibung steht: ...perfect for use with any Arduino Uno, Leonardo or Mega.
Wenn es möglich ist, würde ich gern diesen Nachbau benutzen: Amazonien
Welches " Adafruit – Shield Music Maker MP3 Für Arduino" hast Du? bitte link auf das Angebot.
Was ich mit vorstellen kann ist daß Komponenten auf dem Shield über SPI angesteuert wird und die sind auf den verschiedenen Arduinos an verschiedenen Pins (UNO auf 11,12,und 13; Mega auf 51,52,53 Leonardo erinnere ich mich nicht.) Die SPI Schnittstelle ist auf den 2x3 Pins der ICSP Schnittstelle herausgeführt. Wenn das Shield diese Anschlüsse verwendet müßte es auf dem MEGA / Nachbau funktionieren.
Die Taster können auch auf einer Matrix von 8x6 verschaltet werden und so nur 12 Anschlüsse gebraucht werden. Analoge Eingänge können auch als digitale Ein/Ausgänge verwendet werden. Also 20 Pin -4 für SPI und -2 für USB bleiben 14.
Es hat Vor- und Nachteile, bei mir überwogen die Vorteile.
Nachteil: Der µC muß die MP3-Daten von der SD-Karte lesen und zum Shield kopieren. Blockierende Programmierung ist daher tabu. Das Lesen der IR-Fernbedienung funktionierte daher nur mit einem zusätzlichen µC, bei mir ein ATtiny85.
Vorteil: Voller Zugriff auf die SD-Karte beispielsweise zum Lesen der Musiktitel.
Beim Mega2560 liegen die SPI-Pins nicht auf 11, 12 und 13, weshalb die Anleitung ICSP Jumpers (Leonardo & Mega) zu beachten ist. Die rechten Brücken würde ich trennen.
Im Moment sind mir Eure sicher gut gemeinten Hinweise noch etwas zu hoch.
Ich habe ja die Hardware noch nicht.
Eine Fernbedienung benötige ich nicht.
Ich habe zum Testen einen Uno da. Damit könnte ich anfangen.
Allerdings habe ich mir mal die Beispiel-Projekte angesehen.
Da werden Files nach Dateinamen von SD Karte wiedergegeben.
Das ist so der Ausgangspunkt.
Bei der Logik der Tasten tue ich mich nicht ganz so schwer.
Das möchte ich über multiplexen machen, da es schon Leiterplatten dafür gibt die ich gern verwenden will.
Es gibt für die 16 Tasten 4 Ausgänge welche zyklisch durchgetaktet werden.
Dazu gibt es 4 Eingänge, welche dann je nach Zustand der Ausgänge zugeordnet eine der vier Tasten einer der vier Reihen wiederspiegeln.
In Abhängikeit werden dann nochmal unterschieden durch die gewählte Ebebe 1-3 ein Bit gesetzt was mir den Zustand der gedrückten Taste und somit das zugeordnete mp3-File anzeigt.
Dann muss dieses von der SD Karte "nur noch" abgespielt werden.
Da stellt sich mir nun nochmals die Frage ob es dann noch möglich ist die mp3-Files ohne Störungen mit dem og. Player abzuspielen.
Auch für dieses Shield mit dem vs1053b gilt daß die Musikfiles von Arduino von der SD Karte zum VS1053 geschaufelt werden müssen. Da kann Multiplexen der Taster oder andere Programmteile störend sein.
Ich würde den DFPlayer mini nehmen. Der hat auch einen 3W Verstärker drauf. Hier werden die Files im Verzeichnis MP3 durchnumeriert und so mit ihrer Nummer aufgerufen.
Ich bin da ja noch völlig frei.
Wenn ein anderer Player besser geeignet ist, gern.
Der Verstärker brauche ich eigentlich nicht. Mir reicht Lineout.
Worauf es mir jedoch ankommt ist eine einigermaßen gute Audioqualität.
Von der Verarbeitung der Files wäre es mir am liebste, ich könnte eine Ordnerstruktur auf er SD Karte anlegen und diese durch nummerieren von 1 bis 48.
Dann sollte immer das File im angegebenen Pfad abgespielt werden, egal wie der Filename ist.
play //sdcard/3/*.mp3
Das wäre mal der Idealfall, ka. ob das geht.
Ich werde mal noch mit der Bestellung etwas warten, in der Hoffnung auf einen Rat zum richtigen Player.
Das ist beim DFPlayer mini stark reglementiert, aber 001.mp3 bis 048.mp3 mit Auswahl über den Dateinamen ist möglich.
Einfach mal besonders auch hinsichtlich der Qualität ausprobieren, die Investition hält sich in Grenzen. Denn was Du unter einer "einigermaßen guten Audioqualität" verstehst, weißt nur Du selbst.
Naja, Hifi wird das wohl nicht aber knapp drunter wäre schon gut.
Der ideale Player ist aber eben wohl noch nicht dabei.
Denn sowie der von mir vorgeschlagene als auch der DFPlayer Mini MP3 Player, stören sich ja scheinbar daran, dass der Arduino noch nach der gedrückten Taste suchen soll.
Und das soll er ach tun wärend ein File abgespielt wird.
Ja, das kann er. Und zwar mit einer recht ordentlichen Qualität.
Ich kann den auch nur empfehlen. Für Stereo brauchst du allerdings einen zusätzlichen externen Stereoverstärker.
Kann mir bitte mal einer Links zu einem Shop oder Bucht schicken für den Player und einem empfohlenen Verstärker?
Damit ich mal genau weiß, was ich bestellen sollte.
Wie gesagt eine Enstufe brauche ich eigentlich nicht, Line oder Kopfhörer reichen aus.
Einen Lieferant hat dir agmue in Post #3 doch schon genannt.
Einen Endverstärker brauchst du tatsächlich nicht. Der Player hat Line-Ausgang. Hier findest du eine genauere Beschreibung.
Gut, bitte beachte bei Bedarf meine Anmerkung zu BUSY, im anderen Thema #23.
In der Wartezeit kannst Du einen Blick auf Alternativen werfen. Der ESP32 hat ein Dateisystem, wo auch MP3-Dateien abgelegt werden können. Außerdem hat er eine I²S-Schnittstelle, nicht zu verwechseln mit I²C, an die externe Hardware zur Tonerzeugung angeschlossen werden kann. Da ich das selbst noch nicht probiert und gehört habe, kann ich keine Empfehlung aussprechen.
Das gilt ebenso für die Teensy-Baureihe, die hinsichtlich Tonerzeugung eine Menge Unterstützung mitbringt. Wie es klingt, muß man probieren, denn Angaben dazu konnte ich nicht finden.
Bedienung per Touch, 3,2" Touchdisplay auf ein ESP32-Board im UNO-Format gesteckt.
Display sollte unbedingt ein SPI-Display sein.
Die Bauform gibt es wohl inzwischen kaum noch, also als Beispiel: Display
Dann geht auch ein beliebiges ESP32-Dev-Kit, wenn möglich mit zusätzlichem PSRAM.
I2s-Decoder: Decoder
Ausgabe per Lautsprecher geht auch, z.B. mit 2x Verstärker
Ich höre hier mal lieber auf, einfach rückfragen wenn von Interesse.