Mini MP3 Player DFPlayer Master Module

Hey Leute

hat jemand schon erfahrung mit dem Mini MP3 Player DFPlayer Master Module von AZ-Delivery?

Bei mir gestaltet sich folgendes Problem:

Mp3 Datei soll auf Tastendruck abgespielt werden, verwendet wird ein Arduino UNO der DF Mini Player und ein Lautsprecher. Wenn ich nun die MicroSD in den DF Player stecke schaltet dieser sofort ab.
Kennt von euch einer dieses Problem bzw. hat jemand eine Idee was der fehler sein kann?

LG

Vermutlich hast du einen Fehler gemacht, den wir aus deiner kurzen Beschreibung nicht erkennen können.
Dazu poste ein Schaltbild, deinen Sketch und genaue Links zu den verwendeten Teilen und Libraries .

Hallo,
hast Du den DF Player für seine Stromversorgung am Arduino angeschlossen. Das geht nicht der braucht zu viel Strom. Du muss den DF Player extra mit 5V versorgen. GND aber miteinander verbinden. Mit 3,3 V läuft der der Player bei mir nicht richtig.

#include <DFRobotDFPlayerMini.h>
#include <SoftwareSerial.h>


SoftwareSerial mySerial(10, 11); // RX, TX
DFRobotDFPlayerMini mp3;

const int buttonPin = 2; // Taster zum Starten des Relais
const int startMp3ButtonPin = 5; // Taster zum Starten der MP3-Wiedergabe
const int stopButtonPin = 4; // Taster zum sofortigen Stoppen des Relais
const int relayPin = 3; // Relais an Pin 3 anschließen

bool isRelayActive = false;
bool isMp3Requested = false;
bool isMp3Playing = false;
bool stopRelay = false;
unsigned long relayStartTime = 0;
unsigned long relayDuration = 300000; // Hier auf 5 Minuten einstellen (in Millisekunden)

void setup() {
  mySerial.begin(9600);
  mp3.begin(mySerial);

  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(startMp3ButtonPin, INPUT_PULLUP);
  pinMode(stopButtonPin, INPUT_PULLUP);
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW); // Relais zu Beginn ausschalten

  // Initialisiere den DFPlayer Mini
  mp3.volume(20); // Lautstärke einstellen (0-30)
  mp3.EQ(DFPLAYER_EQ_NORMAL); // Equalizer-Modus einstellen
  mp3.outputDevice(DFPLAYER_DEVICE_SD); // Wähle die Wiedergabequelle (SD-Karte)
}

void loop() {
  if (digitalRead(buttonPin) == LOW) { // Überprüfe, ob der Start-Taster gedrückt ist
    delay(50); // Entprellzeit
    if (digitalRead(buttonPin) == LOW) {
      if (!isRelayActive) {
        // Das Relais einschalten
        digitalWrite(relayPin, HIGH);
        isRelayActive = true;
        relayStartTime = millis();
      }
    }
  }

  if (digitalRead(startMp3ButtonPin) == LOW) { // Überprüfe, ob der MP3-Start-Taster gedrückt ist
    delay(50); // Entprellzeit
    if (digitalRead(startMp3ButtonPin) == LOW) {
      if (!isMp3Requested) {
        isMp3Requested = true;
      }
    }
  }

  if (isMp3Requested && !isMp3Playing) {
    // Spiele die MP3-Datei mit der Nummer 001 ab, wenn angefordert
    mp3.play(1);
    isMp3Playing = true;
  }

  if (digitalRead(stopButtonPin) == LOW) { // Überprüfe, ob der Stop-Taster gedrückt ist
    delay(50); // Entprellzeit
    if (digitalRead(stopButtonPin) == LOW) {
      // Das Relais sofort ausschalten
      digitalWrite(relayPin, LOW);
      isRelayActive = false;
      stopRelay = true;
    }
  }

  if (isRelayActive && (millis() - relayStartTime >= relayDuration)) {
    // Das Relais ausschalten, wenn die Zeit abgelaufen ist
    digitalWrite(relayPin, LOW);
    isRelayActive = false;
    stopRelay = false;
  }
}

nach diesem Schema wurde angeshlossen
zusätzlich noch ein taster an PIN 5

Das habe ich auch schon versucht, hat leider auch nicht geklappt.

wie gesagt es schaltet nur der DF Player ab bei einschub der MicroSD

Was genau heiß, der schaltet ab ?
Und ist dr auch von AZ- Dingsbums ?

Die LED am DF Player schaltet sich ab. Der UNO läuft aber tadellos weiter

Ja der ist auch von AZ- Delivery

Dann ist da was faul. Ich kenne das nur so, dass die Led leuchtet, wenn Sound abgespielt wird.
Was passiert, wenn du an den Pins des DFPlayers die Titel startest ?

Steht auf deinem Board auch "DFPlayer" drauf ?

das werde ich jetzt mal versuchen

Nun habe ich es geschafft das die mp3 abgespielt wird aber nu 1 mal, ich denke mal das ich hier im Code noch einen Fehler haben muss

Dann solltest drinen Sketch soweit abspecken und erst mal nur Basisroutinen verwenden.

inwiefern meinst du abspecken?
der Code besteht ja nur aus 2 Grundlegenden Fuktionen.

  1. Mp3 auf Knopfdruck abspielen
  2. Ein Relais auf Knopfdruck einschalten mit Zeitfunktion und Resetfunktion

jedoch haben die Mp3 und das Relais nichts miteinander zu tun.

oder ist dir im Code ein Fehler aufgefallen?

Bisher nicht, da mir deine zahlreichen if-Abfragen am Tablet zu unübersichtlich sind.
Daher abspecken und nur eine einfache Steuerung.

Alles klar danke dir mal trozdem für die Hilfe.

Ja.

isMp3Playing

danke dir auch für die Hilfestellung aber der Code wurde bereits angepasst und funktioniert jetzt ohne weitere probleme.

Sorry, aber ich sehe bei deinem Post keine Lösung.
Die solltest schon deine Lösung hier zeigen, das hilft auch anderen.
So ist der Sinn des Forums.