Features für die nächste Software Version

Ich hätte noch eine Anregung für den „Spezialmodus Von Bis“.
Es wäre klasse, wenn ein langer Druck auf Play Taste die Nummer des Tracks in Relation zum Start Track Ansagen würde.
Wenn ich also die Karte als 181 bis 211 definiert habe und den dritten Track des Albums abspiele, dann lautet die Ansage jetzt 184 und nicht 3.
Vielleicht könnte man in diesem Modus einfach den Starttrack vom aktuellen Track abziehen und das Ergebnis für die Ansage nutzen?

1 „Gefällt mir“

Danke euch fürs Testen! Mal sehen ob ich gleich nochmal was am Code mache… sonst aber in den nächsten Tagen.

OK, ich glaube das konnte ich einfach fixen… Rest folgt :wink:

Hallo, ich fände es ganz sinnvoll, wenn man die Karten über die ser. Schnittstelle programmieren könnte, ebenso wie löschen bzw. einzelne Dateien von der Karte spielen: Würde ungefähr so aussehen:
E (enter) löscht die aufgelegte Karte
W - beschreibt die Karte anhand der bekannten Parameter im Sourcecode
P - spielt den Track / Ordner, so als hätte man eine Karte aufgelegt
Ich möchte z.B. viele Karten mit Tierbildern erstellen, die, wenn man sie auflegt, entweder die Tierstimme wiedergeben - oder - einen Satz sprechen: Das ist ein Vogel (z.B.) - alternativ könnte man das noch in einer Fremdsprache aufzeichnen - This is a bird (z.B.).

Hmmm… das ist schon irgendwie recht speziell… was ich eingebaut habe ist der Modus um Karten für einen kompletten Ordner zu erstellen… musst sie also nur in der richtigen Reihenfolge auflegen.

Das Menü alternativ auch per serieller Schnittstelle ansprechbar zu machen hatte ich schon - daher steht aktuell schon im Debug wieviele Optionen es gäbe.

Edit: das Voicemenü kann jetzt per Tastatur bedient werden!

habe ich so eingebaut

1 „Gefällt mir“

Eigentlich sollte man ja wenn man lange gedrückt hält schneller Springen können… ich glaube ich habe da was gefunden… es wurde 2x waitForTrackToFinish() hintereinander aufgerufen was dann nen Deadlock…

Danke @Thorsten, ich werden es testen sobald ich kann. Könnte allerdings sein, dass es erst Donnerstag Abend klappt.

Hallo,

Wird das mit der Status LED in die offizielle Firmware übernommen?

Gruß
Björnar

Danke @Thorsten, das funktioniert prima.
Beim Testen ist mir da noch etwas aufgefallen. Du hast eine Begrenzung eingebaut, dass man mit VOR nicht über den letzten Track springen kann. Wenn man allerdings mit ZURÜCK springt, dann scheint es vorne keine Begrenzung zu geben und man kann über den ersten Track zurück gehen. Dann klappt die Track Ansage erst einmal nicht mehr und es gibt einen „Com Error 6“ in der Konsole.
Bei weiterem ZURÜCK drücken sagt es dann irgendwann wieder Nummern an, allerdings viel zu hohe. In meinem Fall „238“, obwohl ich bi zum ersten Track im Ordner zurück bin.

Auf der Konsole werden beim VOR springen immer schön die Track Nummern ausgegeben, dies ist bei ZURÜCK nicht der Fall.

Albummodus ist aktiv -> nächster Track: 23=== nextTrack()
Albummodus ist aktiv -> nächster Track: 24=== nextTrack()
Albummodus ist aktiv -> nächster Track: 25=== nextTrack()
Albummodus ist aktiv -> nächster Track: 26=== nextTrack()
Albummodus ist aktiv -> nächster Track: 27=== previousTrack()
Albummodus ist aktiv -> vorheriger Track
=== previousTrack()
Albummodus ist aktiv -> vorheriger Track
=== previousTrack()
Albummodus ist aktiv -> vorheriger Track
=== previousTrack()

Albummodus ist aktiv → vorheriger Track

Danke @Thorsten, aber ich fürchte das Problem besteht immer noch.
Wenn man die Lautstärketasten schnell drückt, dann bleibt es immer noch hängen.

=== 8 ===
=== voiceMenu() (232 Options)
1
2
=== nextTrack()
3
=== nextTrack()
4
=== nextTrack()
5

PS: Gute Idee, dass man die Eingaben anstatt über die Lautstärketasten auch über die Konsole tätigen kann. Das hilft beim initialen Setup sehr! :sunglasses:

Ja konnte es nun auch reproduzieren… werde mir das nochmal ansehen.

Danke fürs testen!!!

2 „Gefällt mir“

feature request :slight_smile:
Idee:
TonUINO merkt sich die letzte Lautstärke
Umsetzung:
Gewählte Lautstärke im eeprom speichern und beim Neustart einlesen und setzen

Habe gerade nochmal gepusht… der Bug sollte jetzte raus sein.

Hat jemand einen Idee wie man am einfachsten wieder aus dem Admin Menu herauskommen kann? Lange Play drücken?

@Thorsten, lange Play drücken klingt gut.
Ich sollte morgen Abend wieder zum Testen kommen.

Bezüglich neuer Features wurde ja schon einmal in den Raum geworfen, ob man eine zeitliche Beschränkung pro Tag für das Abspielen haben sollte.

Da die Mifare Karten ja auch gerne mal für die Zahlung in der Kantine oder als Karte für den Kaffeeautomaten genutzt wurden, kam mir die Idee, dass man ja auch Credits zum Abspielen von Hörpielen auf die Karten laden könnte. Jedes Mal wenn die Karte dann aufgelegt wird, könnte ein Credit abgezogen werden.

Ist natürlich kein Must have Feature, aber ich wollte meine Idee mit euch teilen.

Ich hätte auch einen Vorschlag den ich bei mir schon umgesetzt habe und zwar die Erkennung das ein Kopfhörer angeschlossen ist.

Wird ein Kopfhörer angeschlossen wird die maximale Lautstärke reduziert und sollte die aktuelle darüber sein diese auf die maximale geändert.

Wird der Kopfhörer wieder entfernt wird die maximale Lautstärke und die aktuelle Lautstärke wieder auf den Wert vor stecken des Kopfhörer geändert.

Am DFPlayer muss dazu der 0 Ohm Widerstand entfernt werden und an der gegenüberliegenden vorderen kannte ein Kabel an das freie Lötpad gelötet werden wo normalerweise der 0 Ohm Widerstand hin kommen würde.

An die nicht geschaltet Seite der Klinkenbuchse kommen dann die DAC-L und DAC-R Leitungen des DFPlayer und eine Masse (GND) auf der geschalteten Seite wird lediglich die Masse angeschlossen, hier kommt das zuvor aufgelötete Kabel vom DFPlayer dran und eine Leitung die zu einem freien IO des Arduino geht.

Die Leitung am DFPlayer bewirkt dabei das ein und ausschalten des mono Verstärker. Wird also ein Kopfhörer eingesteckt wird der Lautsprecher abgeschaltet.

1 „Gefällt mir“

Gibt es auch eine funktionierende, einfachere Lösung für einen Kopfhöreranschluss ohne das ich Widerstände entfernen muss. Mir als Laie schwebt da die Lösung Kopfhöreranschlusschip an Platine bzw. DFPlayer anlöten, fertig. Notfalls noch Software anpassen :joy::see_no_evil:

Ist im Forum schon beschrieben. Hier geht es ja nur um die Möglichkeit, daß der Arduino das erkennen kann für ein extra Feature (Lautstärke anpassen).

Hallo,

nun möchte ich mich auch etwas an der Weiterentwicklung beteiligen.
Da ich ja Probleme mit der Lautstärke hatte habe ich die Ausgebe etwas erweitert um nun auch zu sehen bei welcher Lautstärke ich gerade angekommen bin.
Zudem wird ausgegeben wenn die minimal bzw. maximal Lautstärke erreicht ist.

Das hilft auch dabei die passenden Einschaltlautstärke zu definieren.

Vielleicht findet das ja so auch seinen Weg in die offizielle Firmware.

Gruß
Björnar

if (upButton.pressedFor(LONG_PRESS)) {
      Serial.println(F("Volume Up"));
      if (volume < mySettings.maxVolume) {
        mp3.increaseVolume();
        volume++;
        Serial.println((String)"new volume: "+volume);
      } else {
        Serial.println(F("maximum volume has been reached."));
      }

if (downButton.pressedFor(LONG_PRESS)) {
  Serial.println(F("Volume Down"));
  if (volume > mySettings.minVolume) {
    mp3.decreaseVolume();
    volume--;
    Serial.println((String)"new volume: "+volume);
  } else {
    Serial.println(F("minimum volume has been reached."));
  }