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
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.
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.
[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]
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!
lord_tux:
Sorry, ja, habe auf 5V umgeklemmt. Macht aber keinen Unterschied
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.