[Erledigt] DF-Player spielt nicht ab (Arduino Mega)

Hallo,

ich habe einen Arduino Mega 2560 mit dem ich einen DF-Player mini anspielen möchte.

Ich habe zur Zeit alles noch auf dem Testboard verkabelt, so dass ich den DF-Mini aktuell mit einer separaten Stromquelle versorge.

Ich nutze folgenden inzwischen nur noch stark reduzierten Code um dem DF-Player ein MP3 zu entlocken.

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(9600);
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
 myDFPlayer.setTimeOut(1000); //Set Time Out to 1000ms
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while (true) {
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println("DFPlayer Mini online.");

  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{



}

Die Ausgabe des Monitors sieht folgendermaßen aus:

DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!

Den RX des DF-Players habe ich über einen 10K Wiederstand mit PIN 11 des Arduinos verbunden und den TX mit PIN 10.

Wenn ich am DF-Player den Ground mit dem IO_1 verbinde, so spielt dieser das erste mp3 ab und ich kann auch lauter und leiser über die IO-Tasten stellen.

Hat jemand eine Idee? Ich habe auch schon diverse DF-Players (hab insgesamt 5 Stück) versucht. immer das gleiche Problem :frowning:

lord_tux:
Ich habe zur Zeit alles noch auf dem Testboard verkabelt, so dass ich den DF-Mini aktuell mit einer separaten Stromquelle versorge.

Massen verbunden? (GND Deiner separaten Stromquelle mit GND des Arduino)

Der 10k Widerstand ist zu groß. Nimm einen 1k Widerstand.
Und der Mega hat zusätzlich 3 serielle Schnittstellen, warum nimmst du nicht eine davon ?
Da brauchst du nicht SoftwareSerial einsetzen, eine Fehlerquelle weniger.

Hallo,

erstmal herzlichen Dank für die schnellen Antworten.

Ich habe jetzt sowohl Masse verbunden (hatte ich tatsächlich vergessen) als auch direkt den Strom vom Arduino genommen. Leider kein Unterschied. Den 10k habe ich gegen einen 1k getauscht.

Das Problem bleibt das Gleiche. Per IO kann ich den DF Player ansprechen, per Arduino leider nicht.

Die Ausgabe bleibt identisch.

SoftwareSerial habe ich verwendet, weil Hardwareserial nicht ging und in allen Beispielen immer SoftwareSerial verwendet wurde. Ich habe jetzt den DF-Player auf PIN 14 und 15 gelegt.

Den neuen Code mit HardwareSerial würde jetzt so aussehen:

#include "Arduino.h"
//#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

//SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
  //mySoftwareSerial.begin(9600);
  Serial.begin(9600);
  Serial3.begin(9600);
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
 myDFPlayer.setTimeOut(1000); //Set Time Out to 1000ms
  if (!myDFPlayer.begin(Serial3)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while (true) {
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println("DFPlayer Mini online.");

  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{
}

Dann zeig doch mal ein Foto von deinem Aufbau, auf dem die Verkabelung gut zu sehen ist.

Hast du auch RX auf TX und TX auf RX ?
Und ich sehe nicht, wo du die Hardware-Serial3 ansprichst. Es reicht nicht, nur die Pins zu definieren, dein Sketch muss das auch wissen.

Edit:
Sorry, überlesen, hast du drin.

Kommt denn eine Meldung ?

Dein Programm aus #3 auf einem Mega2560 funktioniert bei mir ohne Probleme. Daher

  • falsche Verkabelung → siehe #4
  • falsche Dateinamen
  • Hardware wegen fehlendem GND zerschossen

Hallo agmue,

agmue:

  • falsche Dateinamen

das kann es eigentlich nicht sein, da er den Player manuell am Pin starten kann.

Anbei die Bilder des Aufbaues:



Blau und Lila gehen zum Lautsprecher.

HotSystems:
Kommt denn eine Meldung ?

Nein, leider nicht

hast du den DFPlayer auf 3,3V gelegt ?

Der muss auf den 5V Pin.
Besser ist da allerdings eine eigene Spannungsversorgung, damit weniger Störgeräusche übertragen werden.

lord_tux:
Nein, leider nicht

Liegt wohl an der falschen Spannung.

Ne, eigentlich müsste er diese Meldung bringen:

Serial.println(F("1.Please recheck the connection!"));

Bei 3,3 V lese ich:

[sup]DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!
[/sup]

Bei 5 V hingegen:

[sup]DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
DFPlayer Mini online.
[/sup]

Na dann sollte der TO den DFPlayer am Mega nochmal genau prüfen.
Bei einem Fehler sollte wie schon geschrieben eine Meldung kommen.

Nochmal herzlichen Dank für die vielen und schnellen Antworten.

Sorry, ich habe mich falsch ausgedrückt. Keine Meldung ist falsch. Es kommt weiterhin die Meldung:

DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!

Aber wenn ich weder in der Verkabelung einen Bug habe, noch im Code, dann werde ich meinen letzten noch eingepackten dfplayer auspacken und mit dem nochmal probieren.

Grummel Bleibt dabei. Er spielt keinen Ton und die Meldung bleibt bei:

DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!

Ok, wenn du ein Lied manuell abspielen kannst, liegt es nicht an der SD-Card.
Dann fällt mir aktuell nicht dazu ein.

Doch....hast du mal den 5V-Pin genommen ?
Das hatte ich in Post #10 schon geschrieben.

Hallo,

hast Du die Serielle Verbindung richtig angeschlossen

RX -> TX
TX -> RX

Heinz

Rentner:
Hallo,

hast Du die Serielle Verbindung richtig angeschlossen

RX -> TX
TX -> RX

Heinz

Wurde ja schon angesprochen und die Bilder zeigen, dass es richtig aussieht.

HotSystems:
Doch....hast du mal den 5V-Pin genommen ?
Das hatte ich in Post #10 schon geschrieben.

Sorry, ja, habe auf 5V umgeklemmt. Macht aber keinen Unterschied :frowning:

lord_tux:
Sorry, ja, habe auf 5V umgeklemmt. Macht aber keinen Unterschied :frowning:

Ok, dann haben wir dir alle Möglichkeiten genannt.
Da habe ich keine weitere Idee.....außer alles nochmal komplett neu aufbauen.

Ich habe schon zahlreiche DFPlayer verbaut und keine Probleme gehabt.
Und dir wurde ja auch schon geschrieben, dein Sketch funktioniert in einem Testaufbau.

Jetzt liegt es an dir......sorry.