Arduino Dfplayer Probleme beim einschalten

Gast #5086505
Lesenswert?

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.
Gast #5086516
Lesenswert?

#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
    {

    }


}
Gast #5086566
Lesenswert?

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.
Gast #5087545
Lesenswert?

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
Gast #5858245
Lesenswert?

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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren