MP3 Abspielen geht nicht, aber keine Fehler

Ein Kurzschluss ist aber auch auszuschließen, sonst würde in der Console eine fortlaufende anzeige der angeblich gedrückten Taste durchlaufen.

Ich bin mir jetzt nicht ganz sicher, aber ich habe irgendwo gelesen, dass die Pins A5 A6 und A7 keinen Pullup widerstand haben, auch wenn im Code zugewiesen. Hier würde ein externer Widerstand von ca 20 kOhm von A5 nach +5V Abhilfe schaffen.
Kontrollieren kannst du das über eine Spannungsmessung an A5 gegen ground. Ist der Pullup widerstand vorhanden muss da + 5V bei offenem Taster anliegen, und 0V bei gedrücktem Taster.

Für A6 und A7 stimmt es, aber A5 hat mWn einen internen Pullup Widerstand.

Du hast das nur softwareseitig geändert? Also die Taster nicht getauscht?

Ja, ok da war ich mir nicht sicher.

Hallo @DerMut83
Versuche doch mal folgendes.
Wenn du über die drei tasten ins adminmenü kommst, kannst du das Adminmenü auch über den ser Monitor steuern.
Also erst mal den ser Monitor starten, dann über die drei Tasten ins adminmenü.
In der oberen Zeile im ser Monitor gibst du z.B. 1 ein für das erstellen einer Karte.
Mit Enter bestätigen . Karte auflegen. Dann bist du schon in der auswahl des Ordners. Hier wieder zb. 1 für Ordner 1 eingeben, mit enter bestätigen.
Dann noch den Abspielmodus einstellen. zB. 1 für Hörspielmodus oder 2 für Albummodus , mit enter bestätigen. Jetzt sollte die karte konfiguriert sein. Dann test ob die Karte funktioniert.
Dann hast du schon mal die bestätigung, dass der code funktioniert.

Da stehen 5 und 7 ohne Buchstabe… Ist das wirklich so? Sind die damit nicht falsch benannt?

Ja, die digitalen Pins werden ohne Buchstaben benannt. Ist in der Original-DEV auch so:

#define buttonPause A0
#define buttonUp A1
#define buttonDown A2
#define busyPin 4
#define shutdownPin 7
#define openAnalogPin A7

Das ist auch richtig, denn es handelt sich um DigitalPins. Die A Pins sind Analogpins.

Ich tippe auf Verdrahtung. Ohne Bilder von Verdrahtung und Lötstellen im Detail kann man das nicht ausschließen. Kurzer, Wackler, falscher Widerstand, etc

Ich tippe mal dass hier gar kein Fehler vorliegt. Denn wenn das System neu gestartet ist & man drückt die Pausetaste kurz kommt weder am seriellen Monitor eine Ausgabe noch leuchtet die TX auf dem Arduino.
@DerMut83 hat zur Zeit viel um die Ohren & wünsche ihm gutes Gelingen.
P.S.: Zum Testen: Langes Drücken der Pausetaste schreibt am seriellen Monitor
=== playShortCut()
0
Shortcut not configured!
& TX auf dem Arduino leuchtet kurz.

Vielen Dank für Eure Hilfe! Ich werde das jetzt Schritt für Schritt abarbeiten (derzeit formatiere ich die Karte neu) und schreibe nochmal die Ursprungssoftware um. Dabei ist mir aber was aufgefallen. Ich verwende ja PIN 7 als Busy Pin, weil meine HW eben anders verlötet ist (Lötfehler schließe ich übrigens aus, so eingebildet bin ich mal). Jetzt steht aber:

// MFRC522
#define RST_PIN 9                 // Configurable, see typical pin layout above
#define SS_PIN 10                 // Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522
MFRC522::MIFARE_Key key;
bool successRead;
byte sector = 1;
byte blockAddr = 4;
byte trailerBlock = 7;
MFRC522::StatusCode status;

D.h. obwohl nicht offensichtlich belegt, wird PIN D7 aber als byte PIN verwendet, oder? Könnte das mein Problem sein?

Nein. Das hat überhaupt nichts miteinander zu tun. Nur weil da eine 7 steht ist damit nicht immer irgend ein Pin gemeint. Das ist ne ganz normale Variable der der Wert 7 zugeordnet wird.

PS: Bitte verwende die </> Taste in der Leiste über dem Eingabefeld wenn du Code postest. Danke.

So, jetzt spielt er zu 90%. Ich kann Ordner wählen, nur beim Wiedergabemodus wenn ich auf Play/Pause drücke, sagt er noch „Ups, es ist ein Fehler aufgetreten“. Ideen dazu?
@Thomas-Lehnert Denke das mit der Karte war es im Endeffekt.
@Lins Das mit den Buttons stimmt. Wenn ich länger drücke bekomme ich genau das von Dir beschriebene.
@stephan Wird gemacht!
Ah, Karten lesen geht jetzt plötzlich auch ohne Fehlermeldung… Wundersame Selbstheilung nehme ich mal an.
Möchte Euch allen @stephan @Manuel @Thomas-Lehnert @Lins @Gute_Laune @Tux1 nochmal wirklich für die Hilfe Danken! Ihr seid eine super Community bei der einem echt geholfen wird uns nicht von oben herab gescheitmeiert wird!!!

Dann sollen die Daten auf die Karte geschrieben werden. Lag die noch auf dem Reader?

Funktioniert beides nicht. Also mit und ohne Karte.
So schaut die Meldung aus

Card UID: 63 AB F2 02
PICC type: MIFARE 1KB
Authenticating Classic using key A...
Reading data from block 4 ...
Data on Card :
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

540
540
=== setupCard()
=== voiceMenu() (99 Options)
541
541
1
285
285
=== 1 ===
=== voiceMenu() (9 Options)
1
2
3
4
5
=== 5 ===
Authenticating again using key A...
PCD_Authenticate() failed: Timeout in communication.
559
559

Versuche mal den Abstand der Karte über dem Leser etwas zu vergrößern. So 0,5 bis 1 cm reichen schon. Einige RFID Module haben ein so starkes Schreibsignal, dass die Karte sozusagen übersteuert wird und die übertragenen Daten nicht auswerten bzw speichern kann.

@Thomas-Lehnert Das ist die Lösung! Danke! Auf so was muss man mal kommen…

Das haben wir alles bereits dokumentiert. Aus unserer Hardware FAQ:

Ja danke! Kann mich sogar erinnern das vor ein paar Wochen gelesen zu haben. Aber da er die Karte einwandfrei eingelesen hat, habe ich nicht an die Möglichkeit gedacht.