Vorstellung TheoBert 1000

So, dann stimmt hier irgendwas nicht. Ich habe den Test gerade ebenso gemacht.

  1. Karte formatiert
  2. mp3 und advert Ordner frisch erzeugt und drauf kopiert
  3. 15 mp3 erzeugt (“Track 01 - Track15”)
  4. Ordner 01 auf der SD Karte erstellt
  5. 015.mp3 in Ordner 01 kopiert
  6. 001.mp3 - 014.mp3 in Ordner 01 kopiert
  7. Eine Karte gelöscht und frisch angelernt: Ordner 01, Album Modus

Verwende ebenfalls meine Software in der neusten Version :wink: , und es wird 001 bis 015 in der richtigen Reihenfolge abgespielt. Sowohl vom audio her zu hören als auch im Debug zu sehen.

TonUINO JUKEBOX
by Thorsten Voß
Stephan Eisfeld
---------------
init nfc
Firmware Version: 0x92 = v2.0
init mp3
  volume 10
  tracks 15
init rng
init buttons
system is ready
waiting for tag to erase
write 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
write successfull
read 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
starting tag setup
select folder
1
select playback mode
story
album
write version 1 | folder 1 | mode album
write 13 37 B3 47 01 01 02 00 00 00 00 00 00 00 00 00
write successfull
read 13 37 B3 47 01 01 02 00 00 00 00 00 00 00 00 00
read version 1 | folder 1 | mode album
album > 1|1/15
album > 1|2/15
album > 1|3/15
album > 1|4/15
album > 1|5/15
album > 1|6/15
album > 1|7/15
album > 1|8/15
album > 1|9/15
album > 1|10/15
album > 1|11/15
album > 1|12/15
album > 1|13/15
album > 1|14/15
album > 1|15/15
album > eof > stop

Auf welchem Wege hast du die microSD Karte beschrieben? Karte aus dem DFPlayer genommen und im PC kopiert oder hast du auch ein USB Kabel direkt am DFPlayer wie ich?

Am Mac, mit nem externen Reader. Nicht im DFPlayer. Hast du die Schaltung nach dem kopieren 1x Stromlos gemacht?

Ja war komplett Stromlos. Wenn ich die SD-Karte raus nehme und im PC direkt beschreibe tritt der Fehler nicht auf.
Für große Datenmengen ist das ja auch die beste Lösung die Karte im PC zu beschreiben. Nur bei ein paar wenigen Dateien wäre der Weg über den direkten USB Zugriff praktisch, trotz langsamer Datenrate.

Dann ist das mit dem externen Zugriff wohl buggy. Wobei ich immer noch nicht verstehe wie das sein kann aber gut, ist wohl so. Gut zu wissen. Das beste ist dann wohl ein Gehäuse wo man schnell an die Karte kommt zwecks leichter Entnahme…

Hey Michael,

super Projekt, Respekt. Kannst du die Word-Vorlage für die Aufkleber vielleicht zur Verfügung stellen? Würde mir beim Erstellen der Aufkleber sehr helfen. Danke.

Mfg DS

Kein Problem. Dazu bräuchte ich die Email Adresse.
Gruß Michael

Hm, habe von Programmierung keine Ahnung. Den Code habe ich ganz zum Schluss eingfügt, bleibt beim übersetzen bei PotiValue = map stehen. Was muss ich anders machen?

Ich Antworte jetzt einfach mal: 3h warten sind ja lang genug :wink:

Also die Deklarationen machst du an den Anfang des Programms (obereb sechs Zeilen).
Dann steht da ja " //im Loop:" was heisst, das dieser Teil in den “void loop(){ … }” Teil des Codes kopiert werden soll.

Genauer gesagt hier, nach dem letzten Button.read(); würde ich es rein kopieren.

void loop() {
  do {
    mp3.loop();
    // Buttons werden nun über JS_Button gehandelt, dadurch kann jede Taste
    // doppelt belegt werden
    pauseButton.read();
    upButton.read();
    downButton.read();

Der Codeschnipsel sollte nur als Anregung dienen und kann nicht einfach per Copy and Paste verwendet werden, da ich ich z.B. ein Potilock (komplettes deaktivieren des Lautstärkereglers) verwende. Ebenfalls muss man sich noch Gedanken zu der Lautstärke Einstellung bei Ansagen, machen da die ausserhalb der Loop laufen.
Als Programmierer-Anfänger ist meine Persönliche Empfehlung ein Arduino Buch von Erik Bartmann.

Der TheoBert 1000 sieht toll aus!

Zum Zugriff auf die SD-Karte und dem vermuteten FiFo beim Be- und Abspielen:
Deine Vermutung ist richtig. Dies ist eine Eigenheit des FAT-Dateisystems und des Zugriffs des DF-Players.

Beim Absetzen eines Befehls werden keine tatsächlichen Dateinamen übergeben sondern eine Platznummer welche sich aber auf die tatsächliche physikalische Position in der Dateizuordnungstabelle (FAT) des Mediums bezieht und eigentlich nichts mit dem Dateinamen zu tun hat!
Von daher ist es von essentieller Bedeutung in welcher Reihenfolge die Dateien auf das Speichermedium übertragen werden.
Es kann daher notwendig sein, die Dateizuordnungstabelle mit entsprechenden Tools zu sortieren (z.B FATsorter o.ä).
Üblicherweise erstellt man sich am PC einen entsprechenden Ordner, legt in diesen Ordner die gewünschten Dateien und Verzeichnisse an, benennt die Dateien so um, dass die gewünschte Reihenfolge entsteht und kopiert schließlich alle Dateien und Verzeichnisse in einem Schwung auf die SD-Karte oder den USB-Stick (für Windows: STRG-A im Quellordner, STRG_V im Zielordner).

Erklärung von: https://bascomforum.de/lexicon/index.php?entry/93-dfplayer-mini/

Gruß
Daniel

1 „Gefällt mir“

Interessant! Würdest Du empfehlen die SD-Card mit einem Tool zu sortieren (wenn man sie nicht wie beschrieben befüllt hat, aber aktuell auch keine Probleme auftreten)?
Und wie kriegt man die MP3- und Advert-Ordner ganz an den Anfang?

Ehrlich? If it ain’t broken, don’t fix it.

Ich würde gar nichts mit der SD-Card machen, wenn alles läuft wie es soll.
Wenn du sie am Rechner in einem “Rutsch” bespielst, wird da auch nix schief laufen.

Wenn es dich genau interessiert:
http://public.bplaced.net
Damit kannst du dir die Reihenfolge der Files im Filesystem ansehen.

Tatsächlich ist das Thema nur relevant, wenn die Daten nach dem bespielen geändert werden oder eben wie Sandblech per USB direkt auf die Karte zugegriffen wird.

1 „Gefällt mir“

Ja, genau, ich habe sie zwar initial am PC befüllt,
aber mp3 und advert nicht zuerst und seit dem ein paar Ordner gelöscht und wieder neue hinzugefügt per USB-Kabel.
Deshalb meine Frage.

Wenn es nicht richtig läuft, alles auf den PC kopieren, Karte löschen/formatieren, wieder drauf.
Dann ist alles richtig drauf.

1 „Gefällt mir“