Lautstärke sehr laut

Das ist ja schon Mal eine Aussage. Hat das schon Mal jemand mit der Änderung in der Bibliothek versucht? Ich kann das leider nicht testen, weil ich keinen der betroffenen Player habe.

Ich habe den delay(100) in die DFMiniMp3.h eingebaut und es funktioniert. :+1:
Allerdings kann ich im Gegensatz zu @wolzotan den 2sec delay nach mp3.begin() nicht komplett rausnehmen. Bei mir braucht es ungefähr 700ms, damit die initiale Lautstärke richtig gesetzt wird.

Das delay nach mp3.begin würde ich auch nicht empfehlen zu entfernen, weil bei der initialisierung nicht nur die Lautstärke gesetzt wird, sondern auch noch andere Einstellungen und Abläufe passieren. CountFolders z.B. läuft nur korrekt mit delay.

1 „Gefällt mir“

@Simon1 Ich hab jetzt mit dem Player das Problem, dass die Ansagen aus dem MP3-Ordner nicht abgespielt werden. Hast du das auch? Wenn nein, wie sind denn deine Dateien in diesem Ordner benannt? Viele Grüße

Außerdem nimmt er die SD-Verlängerung nicht an, die am Laptop einwandfrei funktioniert, verwendest du sowas zufällig auch? Ich muss dich diese Sachen jetzt alle fragen weil ich gleich wenn was nicht funktioniert immer sofort das MP3-Modul verdächtige :smiley:

Das ist echt obernervig mit diesem MP3-Modul, gibts da nicht was stabileres? Und was für ein Chip ist denn auf der AiO und wie wird da diese Problematik vermieden?
Also ich hab jetzt aus 4 Quellen DFPlayer Module gekauft, und hab 2mal diesen hier, und zweimal den GB3200B erhalten, der andere Probleme macht, die hier im Forum ja schon diskutiert worden. Ich bin echt genervt.

Auf meiner AiO ist ein MH-ET LIVE (MH2024K-24SS).

Eine Ansage funktioniert meistens nicht: wenn ich das Admin-Menü starte, kommt keine Ansage, dass das Admin-Menü gestartet wurde. Man drückt dann einfach auf eine entsprechende Taste um die erste Option zu hören.
Wenn man mal im Menü ist, funktionieren die Ansagen aber.

Die Ordner mp3 und advert habe ich 1:1 von Github auf die SD-Karte kopiert.

Probleme hatte ich noch beim Anlernen von neuen Karten. Da ist das Weiterschalten der Ordner nach 3-4x plötzlich „eingefroren“. Ich habe die Karten dann einfach über den seriellen Monitor angelernt (geht sowieso schneller).

Eine SD-Verlängerung hatte ich bis jetzt nicht (diese Option war mir bis jetzt gar nicht bekannt). Sonst hätte ich den DFPlayer nicht mühsam am Gehäuserand platzieren und einen schmalen Spalt ausschneiden müssen… :hot_face:

Bei mir war es so, dass das Admin Menü ganz stumm war, aber mithilfe des ser. Monitors benutzbar. Nach jedem Vorwärts/Rückwärts kam im Monitor entweder nichts oder ein „3 Memory Error“. Die einzige Ansage die aus dem Lautsprecher kam war „Ich hab den Vorgang abgebrochen“.
Auch hier funktioniert aber derseble Fix: ich hab in der Library die Funktion playMp3FolderTrack mit einem delay(100); ergänzt, und damit kommen alle Ansagen auch aus dem Lautsprecher.

    // sd:/mp3/####track name
    void playMp3FolderTrack(uint16_t track)
    {
        sendPacket(0x12, track);
        delay(100);
    }

Ich muss noch überprüfen, ob hier auch weniger Delay reicht.

Wenn die Leiterkartenpiraten auf die AiO-platine ein stabiles Chipset bauen können, dann müsste es ja nicht viel mehr Aufwand sein selber einen DFPlayerKlon anzubieten, der stabil funkioniert, sag ich mal ganz naiv :smiley: Ich würde das kaufen!

Die alte Generation von DF-Playern hatte ja diese Probleme nicht. Es scheint ja irgend etwas an der Firmware der neuen Chips verändert zu sein, dass diese Probleme verursacht. Offensichtlich liegt es nur am Timing, wenn durch ein simples delay die Fehler nicht mehr auftreten. Möglicherweise wäre hier eine generelle Lösung mit der Bibliothek möglich? Die eigentliche Ursache könnte doch in der seriellen Kommunikation liegen. Vielleicht sollte man da mal ansetzen.

@wolzotan hast du diesen Beitrag schon gesehen?

1 „Gefällt mir“

Danke, das war das Problem. Toll! Ich hatte noch garnicht recherchiert, war noch an dem anderen Problem.

Ich poste jetzt einfach weiterhin in diesem Topic.

Auf Thomas’ Anregung hin hab ich mir die Library nochmal genau angeguckt. Stellt sich raus, die Funktionen rufen alle eine Funktion SendPacket() auf, die aus den übergebenen Hex-Bytes das serielle Packet konstruiert und an den DFplayer übermittelt. Diese Funktion ist so geschrieben, als solle sie bis zu einer definierten Zeit c_msSendSpace warten, dass der DFPlayer sich nach getaner Arbeit zurückmeldet, und dann in weiteren Durchläufen jeweils nur noch so lang warten, wie sie zuletzt gewartet hat, so verstehe ich das. Wie auch immer, das haut wohl nicht hin, ob das jetzt an meinem Chip liegt oder an der Funktion weiß ich nicht. SendPacket wartet immer so lang, wie hardkodiert in c_msSendSpace festgelegt. Ich hab diesen Wert auf 100 erhöht, das hat den Fehler noch nicht behoben, aber bei 120ms läuft er fehlerfrei durch.
Ich bevorzuge diesen Fix, weil er mit einer Änderung in der Bibliothek sowohl SetVolume als auch
playMp3FolderTrack repariert.
GetTotalFolderCount lässt sich davon leider nicht beeindrucken, auch nicht von noch mehr Zeit.

Also: die Library, liegt bei mir unter
/home/$user/snap/arduino/current/Arduino/libraries/DFPlayer_Mini_Mp3_by_Makuna/src
aufmachen und in Zeile 368 so ändern:

private:
    static const uint16_t c_msSendSpace = 120;

Dann brauchts auch keine Delays extra eingefügt.

7 „Gefällt mir“

Ich habe diesen Fix bei mir nun auch eingebaut. Die 1. Ansage im Admin-Menü funktioniert jetzt auch! :partying_face:

Allerdings macht es wohl Probleme, wenn man Kopien von der Bibliothek bzw. Sketch im gleichen Ordner abgespeichert hat. Da hatte ich ganz komische Phänomene…
Ich habe dann alle Dateien (inklusive Tonuino.ino) gelöscht, nochmals neu heruntergeladen, die Bibliothek entsprechend deinem Vorschlag angepasst und gut war.

Dann auf geht’s