Hallo zusammen, ich hoffe Ihr könnt mir helfen. Ich habe für meinen Sohn einen Dfplayer gekauft und wollte diesen über einen Arduino steuern. Es soll alsSound/Effekt Wiedergabe an seinem Elektroauto eingebaut werden. Nun habe ich diese Sound alle auf der Sdkarte und den Code geschrieben. Hier kommt das Problem: Starte ich den Arduino bzw. den DFplayer lädt dieser einmal hoch und gibt mir in einer wilden Reihenfolge die Sounds wieder. Erst nach einigen Sek. wenn die Sounds abgespielt sind und nichts mehr kommt, kann ich über meine Buttons die gewünschten Sound abspielen. Nach diesen paar sek. funktioniert alles wunderbar aber ich würde gerne die Sounds beim einschalten bzw. Spannungsversorgung abgestellt bekommen. Vielleicht hat ja jemand Erfahrung damit gemacht. Der Code ist sehr Simpel und wurde von der Original Homepage benutzt, genauso wie die Library.
#include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; const int button1 = 2; int buttonState1 = 0; const int button2 = 3; int buttonState2 = 0; const int button3 = 4; int buttonState3 = 0; void printDetail(uint8_t type, int value); void setup() { mySoftwareSerial.begin(9600); Serial.begin(9600); pinMode(button1,INPUT); pinMode(button2,INPUT); pinMode(button3,INPUT); myDFPlayer.setTimeOut(500); //Set serial communictaion time out 500ms myDFPlayer.volume(15); //Set volume value (0~30). myDFPlayer.EQ(DFPLAYER_EQ_NORMAL); myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); } void loop() { buttonState1 = digitalRead(button1); if (buttonState1 == HIGH) { myDFPlayer.play(1); } else { } buttonState2 = digitalRead(button2); if (buttonState2 == HIGH) { myDFPlayer.play(2); } else { } buttonState3 = digitalRead(button3); if (buttonState3 == HIGH) { myDFPlayer.play(3); } else { } }
Ich kenne ein ähnliches Problem, wenn die Betriebsspannung des DFPlayers nicht sauber 5 Volt im getrennt von der des Arduinos ist. Hast du Widerstände in RX und TX Leitungen ?
Hast du Pulldown-Widerstände an deinen Eingangspins ?
habe wie auf der Seite beschrieben 1 K ohm widerstand genommen zwischen RX und TX. Pulldown widerstände habe ich bei allen 3 Buttons. diese Dimension weiss ich aber gerade nicht genau. was würdet ihr empfehlen? ich meine ich habe nur unter 1K ohm. Habe nach dem Wirrwarr ja keine Probleme, daher bin ich nicht auf die Widerstände gekommen.
Und die Spannung des DFPlayer ist ok ? Macht er das auch, wenn die Loop leer ist, also keine Mp3 gestartet werden ?
Die Spannung ist ok, habe diese über einen Regler mal hoch und runtergenommen um zu testen. Ne das mit der loop habe ich noch nicht getestet. versuche ich mal
Habe heute nochmal alles aufgebaut um eure Vorschläge zu testen und was musste ich feststellen, der Fehler ist weg hahahaha habe am Sketch nichts verändert. Ich kann es mir auch nicht erklären
jetzt ist nur noch die Kleinigkeit, dass es beim Laden einmal knackt an dem Lautsprecher. Habt ihr dafür eine Lösung?
habe das war rausgefunden. Immer wenn im Serial Monitor die Verbindung zu Software Serial steht, dann kommt kommt dieses kurze kratzen im Lautsprecher. Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); 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); } Serial.println(F("DFPlayer Mini online.")); bei dieser ausgabe
Ich habe keine direkte Lösung dafür, aber ein Workaround. Ich verwende in meinem Projekt einen externen Verstärker, den ich zusätzlich ein bzw. ausschalte. Da hört man keinen Knacks.
Worüber schaltest du den externen Verstärker? Relais oder einen Schalter?
Den schalte ich mit einem Mosfet IRF5305 (o.ä. IRFU9024N), der wiederum durch einen BC548 angesteuert wird.
Hallo, habe ein ähnliches Problem wie vom Anfangsthread. Bei mir ist es eine Schaltung zur Beleuchtung und für Soundeffekte für ein Sci-Fi-Modell. Den Sketch für die Lichteffekte habe ich online gefunden. Dieser funktioniert auch ohne Probleme. Habe dann den Sketch für die Funktionen des DFPlayers erweitetert. Und hier habe ich das Problem, dass beim Einschalten der Spannung, der ersten Teil des Skechtes abgespielt wird (Disruptor-Effekt). Sowohl Lichteffekte als auch der entsprechende Sound Danach funktioniert alles ganz normal. Es passiert nur dann etwas, wenn ich den Knopf drücke bzw. halte. Habe Widerstände in TX RX. Spannungen sind in Ordnung, keine Lötfehler auf den Boards zu sehen. Nehme ich aus dem Loop die Soundfunktion wieder raus, bleibt das Problem gleich, nur eben ohne Sound. Es ist ein Arduino-Nano-Clone mit CH340 Chip und DFPlayer mini.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.