Df Player Mini ESP8266 NodemcuV3 SoftSerial HELP!

Guten tag
ich bin umgestigen vom uno auf einen ESP8266 Nodemcu V3 UBD in die Falle gelaufen auf dem UNO lief alles prima
beim ESP kämpfe ich mich bauteil um bauteil nach vorne LOL
Dabei wollte ich einfach nur mehr speicher!

ICH kämpfe mit dem Softwareserial um den Mp3 player anzusteuern
DER will einfach nicht antworten Beim uno tetprogramm rien und alles ging

hier der anschlussplan ESP8266 SOFT RX/GPIO12 TX/GPIO13 Keinerlei reaktion muss ich den wiederstand aus dem kabel nehmen oder gar einen pegelwandler einsetzen um den DFMini anzusprechen FRAGEND
VIN ist 5V

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

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

void setup()
{
    mySoftwareSerial.begin(9600);
    Serial.begin(9600);
    Serial.println();
    Serial.print(F("Init DFPlayer."));
    if (!myDFPlayer.begin(mySoftwareSerial)) {
        Serial.println(F("Error!"));
        while(true);
    }
    Serial.println(F("[ok]"));

    //Set volume value. From 0 to 30
    myDFPlayer.volume(17);

    myDFPlayer.play(1); // Play the first mp3
}

void loop()
{
    static unsigned long timer = millis();

    //Play next mp3 every 10 seconds
    if (millis() - timer > 10000) {
        timer = millis();
        myDFPlayer.next();
    }

    if (myDFPlayer.available()) {
        printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different
    }
}

void printDetail(uint8_t type, int value)
{
    switch (type) {
        case TimeOut:
            Serial.println(F("Time Out!"));
            break;
        case WrongStack:
            Serial.println(F("Stack Wrong!"));
            break;
        case DFPlayerCardInserted:
            Serial.println(F("Card Inserted!"));
            break;
        case DFPlayerCardRemoved:
            Serial.println(F("Card Removed!"));
            break;
        case DFPlayerCardOnline:
            Serial.println(F("Card Online!"));
            break;
        case DFPlayerPlayFinished:
            Serial.print(F("Number:"));
            Serial.print(value);
            Serial.println(F(" Play Finished!"));
            break;
        case DFPlayerError:
            Serial.print(F("DFPlayerError:"));
            switch (value) {
                case Busy:
                    Serial.println(F("Card not found"));
                    break;
                case Sleeping:
                    Serial.println(F("Sleeping"));
                    break;
                case SerialWrongStack:
                    Serial.println(F("Get Wrong Stack"));
                    break;
                case CheckSumNotMatch:
                    Serial.println(F("Check Sum Not Match"));
                    break;
                case FileIndexOut:
                    Serial.println(F("File Index Out of Bound"));
                    break;
                case FileMismatch:
                    Serial.println(F("Cannot Find File"));
                    break;
                case Advertise:
                    Serial.println(F("In Advertise"));
                    break;
            }
            break;
    }
}

BITTE um Hilfe DANKE

Du brauchst deswegen nicht zu schreien (Großschreibung).
Der ESP ist an den Eingängen nicht 5V tolerant. Ob die 3,3V für den Player als High ausreicht, kann ich Dir nicht sagen. Ein Pegelwandler wäre bei dieser Konstellation zu empfehlen.

Gruß Tommy

Drehe mall 12 mit 13, Serial wird auf Kreuz geschaltet
RX---TX
TX--- RX
Der Widerstand soll in der RX am ESP sein

Der DFplayer arbeitet intern auch mit 3,3 Volt. Den kannst du direkt am ESP8266 betreiben, da brauchst du den Widerstand nicht.
Und wie ich das erkennen kann, stimmt die Beschaltung mit RX und TX.
Andere Frage:
Kommt aus deinem Vin vom ESP8266 auch tatsächlich 5Volt raus ?
Es gibt Boards, da ist Vin auch nur Vin und nicht Vout.

@HotSystems der Vin ist auch nur Vin es ist extern mit 5V 3A das systm beaufschlagt wegen sensoren und servo

Ok....und weiter ?
Du hast noch andere Anmerkungen erhalten.

Zunächst müssen Sie espsoftwareserial verwenden.
Außerdem können Sie wahrscheinlich einfach die Swap()-Pins (13 und 15) stattdessen auf UART0 verwenden.

Bei meinen Versuchen um den DF Player komme ich auch bei einem ESP32 Wroom mit je einen 1K in RX und TX besser aus.

Braucht es nicht. Nur je 1 K auf RX TX
Warum? Kann ich Dir nicht sagen, Mit Versuch und Irtum rausgefunden :slight_smile:

Wo zu der arbeitet laut Datenblatt ab 3.2V https://picaxe.com/docs/spe033.pdf

Das ist wirklich seltsam. Das Datenblatt sagt was anderes und bei mir läuft es am ESP32 schon einige Jahre ohne die Widerstände in den Datenleitungen.

Aber ok, ein "Angstwiderstand" kann da nicht schaden, braucht es aber nicht.

Nur scheint es den TO nicht mehr zu interessieren. :wink:

Dann solte man auch schreiben wie wurde der angeklemmt, aber das ist zu viel verlangt.

Nö man kann aber einfach Fragen :wink:

Ja da stimme ich Dir zu. Ist Mir beim Debug mit dem DF Player aufgefallen. Die Ausgaben waren dann Fehlerfrei übertragen worden. Das hatte ich ja in dem Thema "Tetris" beschrieben. Mittlerweile ist ein DF Player auch schon untergegangen. Kein Sound mehr.
Den 2. DF habe ich jetzt mit einem Kühlkörper verbaut mal sehen.
Den Fehler, dass der DF Player willkürlich den Musik Ordner ferliert
konnte ich noch nicht beheben

Denn DF-Player kannst Du auch mit Tasten bedienen.
Für next, pre braucht es nur 2 Tasten. So kannst Du kontrollieren ob der DF Player funktioniert.


Bild aus DFPlayer Mini Mp3 Player - DFRobot Wiki

Grüße Uwe

Danke an alle die hier geholfen haben .
Leider sind die Probleme immer mehr geworden mit den ESP 3,3V.
Die sensoren haben keine zuverlässigen ergebnisse gelifert
deswegen bin ich komplett weg vom ESP zurück zum NANO und UnoR3
mit echten 5V GPIO .
Nun sind zwar kein WEB oder Wifi drin aber die Sensorig läuft 1A
und der DF-Mini spielt alle 13 Sounds dann wenn sie benötigt werden .
über die angegebenen Gpio10/11

Dann machst noch Fehler, die wir nicht sehen können.
So kennen wir deine verwendeten Sensoren nicht und welche Fehler die machen sollen. Evtl. verwendest du Sensoren, die nur für 5Volt geeignet sind.