Box braucht 8 Sekunden bis sie anläuft nach auflegen der Karte

Perfekt danke! Der linke hat zumindest eine Beschriftung die dem original nahe kommt. Kannst du nochmal die genauen Bezeichnungen der Chips rausschreiben? Ich kann es leider nicht genau entziffern. Dann können wir das in unsere Liste aufnehmen. Vielleicht erkennen mir dann mit der Zeit die „faulen“.

Edit: Ich habe die uns bisher bekannten Chips mal in die #hardware FAQ aufgenommen um das Zentral festzuhalten und je einen kurzen Satz dazu geschrieben. Mit der Zeit können wir das dann ergänzen.

Obwohl ich den rechten auch von Ali bekommen habe und der läuft im Test-Setup ohne Probleme.

Bezeichnung folgt. Ich suche noch das Lupenglas der Kinder. Ich brauche leider echt so langsam eine Brille -.-

Oder mit hoher Auflösung fotografieren und dann vergrößern.

YX5200-24SS steht auf dem Chip. Hab das Foto genommen und mit Kontrast, Helligkeit und Sättigung es einigermaßen lesbar gemacht :slight_smile:

Alles klar, danke. Den haben wir ja schon in der #hardware FAQ.

Nachdem ich gestern mit AZ-Delivery telefoniert hatte wegen des DFPlayers lag heute in neuer in der Post der aus Kulanz zu mir geschickt wurde.

Es ist auch einer dieser JP irgendwas Chips drauf. Dieser läuft ohne Verzögerung gefühlt (ohne Zeiten zu nehmen) genau so schnell wie der YX5200-24SS

Den defekten DFPlayer durfte ich behalten, bei diesem werde ich wohl mal schauen ob ich den Kopfhörerausgang realisieren kann. Wäre ja nicht so schlimm wenn ich den DFPlayer endgültig in schrotte :slight_smile:

Das ist interessant. Wäre mal interessant zu wissen, was genau da nicht i.O. war. Scheint man ja dann nicht verallgemeinern zu können…

Ich würde den DFPlayer auch an einen findigen Tüftler spenden der Ihn durchmessen kann oder ähnliches.

Hallo zusammen,
wie lange dauert es denn mindestens bis nach dem Einschalten der Startsound abgespielt wird? Hab jetzt diverse DFPlayer und SD-Karten Kombinationen durch und die liegen alle so bei ca. 5 Sekunden. Egal ob die Karte viele oder wenige Dateien hat, ganz voll hab ich die noch nicht gemacht. Aber dann kann es ja nur langsamer werden. Nach dem Auflegen einer Karte geht es Verzögerungsfrei weiter.

Es dauert mindestens 2s weil wir ein entsprechendes Delay drin haben. Alles darüber hinaus kann dann eigentlich nur an der Trägheit des Players liegen (siehe obige Diskussion).

OK, dann stelle ich die Frage anders. Bei wem dauert es unter 5 Sekunden und mit welchem Setup? Meiner Tochter sind die 5 Sekunden zu lang :slight_smile: Und ich hab schon echt viele DFPlayer durch und frage mich ob es sich lohnt die 10€ für das Set bei Amazon auszugeben oder einen teureren DFPlayer zu kaufen.
Hat hier nicht Mal jemand versucht an die “original” Chips zu kommen? Ist da was draus geworden?

Ich habs jetzt mal mit millis() gemessen: 4.29s braucht meine Setup Routine von Anfang bis Ende. Am Ende wird ein “pling” abgespielt. Das ist inkl. der o.g. 2s delay nach dem init des Players. 393 Dateien (breinigt von dem was in advert und mp3 ist) auf der SD Karte. Firmware ist meine mit allen Features ausser 5 Buttons an.

Das Original Modul bzw. der Chip kommt von hier (wurde aber auch schon an anderer Stelle im Forum gepostet). So zumindest die Rechercheergebnisse… Aber ich bezweifle das es damit schneller läuft. In irgendeiner Doku habe ich mal gelesen das der Player einfach auch Zeit braucht um startklar zu sein.

So, ich habe jetzt auch nochmal bei mir gemessen:
Wenn schon eine Karte drauf liegt dauert es ca. 2,9 Sekunden bis zum ersten Ton.
Habe allerdings auch nicht die aktuelle Dev-Version drauf mit den 2s Delay, sondern eine modifizierte Master-Version.

Ich grab das nochmal aus, weil mich die lange Initialisierung auch beschäftigt.
Hat jemand getestet, die mp3.beginn Funktion an den Anfang des Setup() zu setzen und am Ende die ersten Befehle zum DF Player zu schicken?

Dazu hab ich noch gesehen, das für den Zufallsgenerator 128 Schleifendurchläufe gemacht werden. kann man diese evtl auch reduzieren.

Hinzu kommen die ganzen seriellen Ausgaben, auch die werden sicher Ihte Zeit benötigen. Diese kann man doch über einen #ifdef DEBUG deaktivierbar machen. Genauso wie das lesen der RFID Reader Informationen.

2 „Gefällt mir“

Ja, da kann man sicherlich noch was optimieren. Deine Vorschläge klingen vernünftig und könnte man mal antesten.

Um zu erreichen, dass der Zufallsgenerator bei jedem Start anders initialisiert ist, man auch unregelmäßig (z.B. immer beim Auflegen einer Karte) die untersten 8 Bit der seit Start vergangenen Millisekunden auf dem EPROM speichern und diesen Wert mit für die Initialisierung des Zufallsgenerators beim Start nehmen. Dann sind gar keine Schleifen nötig.

Ich hab das mal getestet und folgende setup() Methode gerade in Benutzung

void setup() {
  #ifdef DEBUG
  Serial.begin(115200); // Es gibt ein paar Debug Ausgaben über die serielle Schnittstelle
  #endif
  
  mp3.begin();

  // Wert für randomSeed() erzeugen durch das mehrfache Sammeln von rauschenden LSBs eines offenen Analogeingangs
  uint32_t ADC_LSB;
  uint32_t ADCSeed;
  for(uint8_t i = 0; i < 32; i++) {
    ADC_LSB = analogRead(openAnalogPin) & 0x1;
    ADCSeed ^= ADC_LSB << (i % 32); 
  }
  randomSeed(ADCSeed); // Zufallsgenerator initialisieren
  #ifdef DEBUG
  Serial.println(ADCSeed);
  #endif
  #ifdef DEBUG
  // Dieser Hinweis darf nicht entfernt werden
  Serial.println(F("\n _____         _____ _____ _____ _____"));
  Serial.println(F("|_   _|___ ___|  |  |     |   | |     |"));
  Serial.println(F("  | | | . |   |  |  |-   -| | | |  |  |"));
  Serial.println(F("  |_| |___|_|_|_____|_____|_|___|_____|\n"));
  Serial.println(F("TonUINO Version 2.1"));
  Serial.println(F("created by Thorsten Voß and licensed under GNU/GPL."));
  Serial.println(F("Information and contribution at https://tonuino.de.\n"));
  #endif  
  
  // Busy Pin
  pinMode(busyPin, INPUT);

  // load Settings from EEPROM
  loadSettingsFromFlash();

  // activate standby timer
  setstandbyTimer();

// DFPlayer Mini initialisieren
//  mp3.begin();
//  // Zwei Sekunden warten bis der DFPlayer Mini initialisiert ist
//  delay(2000);
  volume = mySettings.initVolume;
  mp3.setVolume(volume);
  mp3.setEq(mySettings.eq - 1);
  // Fix für das Problem mit dem Timeout (ist jetzt in Upstream daher nicht mehr nötig!)
  //mySoftwareSerial.setTimeout(10000);

  // NFC Leser initialisieren
  SPI.begin();        // Init SPI bus
  mfrc522.PCD_Init(); // Init MFRC522
  mfrc522
  //#ifdef DEBUG
  .PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  //#endif

  }

  pinMode(buttonPause, INPUT_PULLUP);
  pinMode(buttonUp, INPUT_PULLUP);
  pinMode(buttonDown, INPUT_PULLUP);
#ifdef FIVEBUTTONS
  pinMode(buttonFourPin, INPUT_PULLUP);
  pinMode(buttonFivePin, INPUT_PULLUP);
#endif
  pinMode(shutdownPin, OUTPUT);
  digitalWrite(shutdownPin, LOW);


  // RESET --- ALLE DREI KNÖPFE BEIM STARTEN GEDRÜCKT HALTEN -> alle EINSTELLUNGEN werden gelöscht
  if (digitalRead(buttonPause) == LOW && digitalRead(buttonUp) == LOW &&
      digitalRead(buttonDown) == LOW) {
    #ifdef DEBUG
    Serial.println(F("Reset -> EEPROM wird gelöscht"));
    #endif
    for (int i = 0; i < EEPROM.length(); i++) {
      EEPROM.update(i, 0);
    }
    loadSettingsFromFlash();
  }
  digitalWrite(SpeakerOnPin, HIGH);
  
  // Start Shortcut "at Startup" - e.g. Welcome Sound
  playShortCut(3);

}

Das läuft soweit.
Der 2sec Delay spart natürlich die meiste Zeit ein.
Wie viel ich an den seriellen Ausgaben spare hab ich nicht genauer gemessen.

Ich habe in dem Zuge auch alle seriellen Ausgaben im Programm mit dem #ifdef DEBUG versehen.
Das spart übrigends 27% des Programmspeichers ein. Vielleicht auch das ein oder andere mA an Energie.

Edit: ich hatte vergessen meine eigenen Ergänzungen heraus zu nehmen…das ist heirmit getan.

Habe sporadisch dasselbe Problem:
Es dauert um die 8 Sekunden, bis der TonUINO loslegt. Zusätzlich funktionieren Karten mit Zufallsmodus-Einstellung dann nicht. Konsole sagt auch Com Error 255 und der DFPlayer gibt 0 Dateien im Verzeichnis zurück.
Sporadisch, weil: Nach dem neuformatieren der SD-Karte ist das Problem weg, kommt aber nach 2-3 Tagen wieder. In der Zeit blieb die SD-Karte im TonUINO…können also nicht irgendwoher unerwünsche Dateien hinzugekommen sein. An den Lötstellen kann’s ja eigentlich auch nicht liegen, wenn’s zwischendurch auch mal funktioniert. Frage mich nur, wieso der Player nach 2-3 Tagen anfängt, rumzumucken.

Habe eine kingston-Speicherkarte (Class 4, 16GB). Hatte es auch mal mit einer Transcend (Class 10, 16GB) versucht, bei der hatte ich die Probleme aber auch nach dem formatieren.

Also scheint der Player ziemlich zickig zu sein.
Allerdings kommt ein Austausch bei mir leider nicht mehr in Frage…so wie das ganze zusammengelötet ist, bekomme ich das niemals wieder auseinander :thinking:

Noch etwas zu den Resourcen-Daten auf dem Mac (lösche ich auch immer komplett von der SD-Karte): ja, dot_clean löscht nur die Resourcen-Dateien in den Unterverzeichnissen. Um auch die unsichtbaren Ordner direkt im SD-Stammverzeichnis wegzubekommen, geht wie folgt vor:

  • Terminal öffnen
  • cd[leerzeichen] eintippen, die SD-Karte auf das Fenster ziehen und mit Return bestätigen. Ihr solltet nun im Terminal im SD-Verzeichnis sein.
  • ls -la eingeben. Ihr seht nun wirklich alles, was im Verzeichnis ist. Auch Dateien/Verzeichnisse mit einem Punkt am Anfang des Namens (=> Im Finder versteckt)
  • Jene könnt ihr mit rm -r [name] löschen. -r, weil es sich hierbei eigentlich um Verzeichnisse handeln sollte. Ihr braucht hierbei den Namen nicht komplett einzutippen. Der Punkt, die ersten Buchstaben und dann auf die Tab-Taste drücken

Bei wem tauchen denn die Probleme unter Windows auf? Sieht mehr nach einem Mac und Linux Problem aus. Und als Speicherkarte hatte ich mit meinen SanDisk auch nie Probleme.

Ich habe hier verschiedene DFplayer Platinen, welche ich eigentlich durchgetestet habe um zu schauen ob hier das Brummen bzw. der Einschaltton stärker oder weniger ausgeprägt ist.

Auch hier war ein Modul dabei, welches deutlich länger zum reagieren gebraucht hat. Es wurde dabei immer die gleiche SD-Karte verwendet.

Ich bin mir dabei nicht unbedingt sicher ob die Platine mal zuviel Wärme beim Löten gespürt hat.

Wäre zumindest bei euch mal interessant ob ihr einfach mal tauschen könntet.