Play funktioniert nicht

#1

Hallo zusammen,

vielen Dank zuerst für dieses Projekt! Ich habe vor zwei Jahren mit exakt den gleichen Bauteilen eine Jukebox gebaut. Aufgrund rudimentärer Programmierkentnisse war die Box jedoch nicht ansatzweise so elegant wie der TonUINO weshalb ich meinen Code einfach komplett über den Haufen geworfen habe als ich den TonUINO entdeckt habe,

Zum Problem:
Der TonUINO funktionierte eigentlich einwandfrei. Seit kurzem kann ich Lieder zwar anhalten aber nicht wieder weiterspielen lassen (von heut auf morgen ohne Änderung des Codes). Der Button selber funktioniert und immer wenn ich wieder “Play” drücken will zeigt der Serielle Monitor folgendes an:

==setstandbyTimer ()
0

Ein Hardwareproblem schließe ich also aus. Wenn ich lange auf die Pausetaste drücke während noch Musik läuft zeigt der Serielle Monitor “Com Error 6”. Wenn keine Musik gespielt “Com Error 7”. Eigentlich ist die Play/Pausetaste doch nicht doppelt belegt oder? Theoretisch dürfte es doch dann auch keine Fehlermeldung geben…

Ich habe bereits folgendes probiert:

  • Code neu aufspielen
  • EEProm löschen (Allerdings nicht erfolgreich, zumindest hat er die Karten alle trotzdem erkannt…)
  • Standbytimer im Code verstellt
  • Pin vom Play/Pausetaste getauscht
  • Reset am Arduino durchgeführt

Nach stundemlangen suchen bin ich mit meinem Latein am Ende. Hat jemand von euch eine Idee warum der Playbutton nicht geht?

Vielen Dank schonmal im Vorraus!
Gruß, Michel

#2

Poste doch mal bitte ein Foto vom Aufbau und die gesamte Konsolen-Ausgabe.

PS: vielleicht auch mal die SD-Karte formatieren.

#3

Hallo Dennis, vielen Dank für deine schnelle Antwort. Hier die Ausgabe:

 _____         _____ _____ _____ _____
|_   _|___ ___|  |  |     |   | |     |
  | | | . |   |  |  |-   -| | | |  |  |
  |_| |___|_|_|_____|_____|_|___|_____|

TonUINO Version 2.1
created by Thorsten Voß and licensed under GNU/GPL.
Information and contribution at https://tonuino.de.

=== loadSettingsFromFlash()
Version: 1
Maximal Volume: 25
Minimal Volume: 5
Initial Volume: 15
EQ: 1
Locked: 0
Sleep Timer: 0
Inverted Volume Buttons: 1
=== setstandbyTimer()
0
Firmware Version: 0x92 = v2.0
=== playShortCut()
3
Shortcut not configured!
=== nextTrack()
Card UID: E0 A2 5E 56
PICC type: MIFARE 1KB
Authenticating Classic using key A...
Reading data from block 4 ...
Data on Card :
 13 37 B3 47 02 06 03 00 00 00 00 00 00 00 00 00

=== disablestandby()
20 Dateien in Ordner 6
Party Modus -> Ordner in zufälliger Reihenfolge wiedergeben
Queue :
19
6
1
16
15
13
2
8
20
12
7
17
4
5
14
10
18
3
11
9
=== setstandbyTimer()
0
=== setstandbyTimer()
0
=== setstandbyTimer()
0
=== setstandbyTimer()
0

Ein Bild vom Aufbau liefere ich nach. SD-Karte formatieren hat leider keine Abhilfe geschafft. Auch bei der Verwendung des Mastercodes statt des DEV hat’s nicht gebracht. Was mich so wundert, dass es ja funktioniert hat bis zum Tag X.

@stephan Leute: BITTE verwendet die „vorformatierter Text“ Funktion!!!

#4

Je nachdem. Long press während play sagt glaube ich die Tracknummer an. Jedenfalls versucht er was zu spielen und com error 6 sagt er findet die Datei nicht. Wenn neu formatieren nichts bringt, Wechsel mal die SD Karte.

Im eeprom werden die karten nicht gespeichert! Nur ein paar Settings und der Fortschritt im Hörbuchmodus.

#5

Oh. Das hatte ich irgendwie falsch in Erinnerung. Dann erklärt sich das mit den Karten.

Wenn ich das Kabel zum Computer abziehe und dann lange Pause drücke sagt er die Nummer des Liedes an, wie von dir beschrieben. Play funktioniert leider trotzdem nicht :frowning:

Ich versuche es nochmal mit einer anderen SD-Karte.

#6

Nach weiteren stundenlangen Fehlersuchem habe ich endlich das Problem gefunden. Der Busypin vom df-Player war abgerissen was man aufgrund des Schrumpfschlauches nicht gesehen hat.

Richtig erklären kann ich mir zwar nicht warum er
ohne Busypin pausiert aber nicht wieder weiterspielt aber manchmal muss man nicht alles verstehen.

Dennis und Stephan vielen Dank für eure Mühe!

Für den nächsten TonUINO muss auf jeden Fall die vorgefertigte Platine her :slight_smile:

#7

Das ist einfach zu erklären. Der Play/Pause Button toggelt ja. Der Pin wird vom Player auf GND gezogen wenn gespielt wird. Das checkt der Arduino über Pin D4. Ist der abgerissen ist D4 immer low (also denkt der Arduino der Player spielt). Drückst du die Taste, stoppt er. Drückst du nochmal, checkt er wieder „spielt gerade was?“. Das Ergebnis der Abfrage ist immer wahr, weil der State an dem Pin sich ja nie ändert. Folglich kann das Playback nie wieder starten.

Besser spät als nie! :wink:

1 Like
#8

Vielen Dank für die ausführliche Erklärung! Das macht natürlich Sinn :slight_smile:

E-Mail für die Platine ist gerade rausgegangen :wink:

2 Like