Reichen 2 Knöpfe?

Hallo,

ich plane gerade mein erstes TonUINO-Projekt. Ich würde die Box gerne so einfach wie möglich halten, deshalb würde ich am liebsten nur 2 Knöpfe (lauter und leiser) benutzen und die Titel einfach starten, sobald der RFID auf dem Gerät liegt. Sobald er dann entfernt wird, soll gestoppt werden.

Funktioniert das soweit mit der Software, dass sobald der RFID aufliegt er spielt, bis er entfernt wird?

Jetzt habe ich gesehen, dass einige Admin-Funktionen über den dritten Knopf laufen. Meine Idee wäre dazu z.B. an der Unterseite einen kleinen versteckten Knopf, zur Konfiguration. Was haltet ihr davon?

Automatisch los spielen funktioniert, ja. Stoppen wenn die Karte entfernt wird nicht - das ist so in der offiziellen Firmware nicht vorgesehen. Die Gründe dafür wurden auch schon ein paar mal diskutiert. Es gibt alternative Firmware wo sowas versuchsweise implementiert wurde, aber ich habe es nicht ausprobiert, da ich selber auch kein Fan davon bin. Ausserdem fehlen da dann wieder andere Sachen, weil die Forks nicht aktuell gehalten wurden.

Ok, ich habe zumindest die Firmware gefunden.

Mal abwarten, vielleicht kommt diese Funktion ja als mögliche Option in die Standard-Version rein. Ich würde es begrüßen.

2 „Gefällt mir“

Ich würde es auch begrüßen, da die Tasten minimiert werden und das Verhalten recht intuitiv ist. Jedoch muss dann auch der Adminmodus (aufgrund der fehlenden Taste) angepasst werden

Ich finde 3 Tasten schon optimal. Mit 5, (wie einige ihren TonUINO hier betreiben) wäre mir persönlich auch zu viel. Aber weniger? Wenn man jetzt noch eine weitere Taste wegsparen wollte… müsste man alle Menüs auf zwei Tasten umstricken. Zwei braucht man ja schon zu Auswahl. Wie bestätigt man dann? Ergo fängt man an mit weiteren doppel (ggf. dreifach) Belegungen. Also lange halten, mehrfach drücken etc. pp. Das ist in meinen Augen aber dann auch nicht mehr wirklich intuitiv. Oder?

Ein Knopf für lauter, ein Knopf für leiser. Jeweils mit einem kurzen Klick.
Play/Pause ohne Knopf, sonder Karte drauf/ Karte runter. Wird die selbe Karte erneut aufgelegt, wird an der gleichen Stelle fortgesetzt. Wird eine andere Karte aufgelegt beginnt das Album von vorne.
Dritter Knopf zum Bedienen des Admin Menüs, finde ich okay. In meinem Fall möchte ich den Dritten Knopf auch zum Starten des Tonuino nutzen.
Vor und zurück möchte ich lediglich vorbereiten und zwar mit einem vierten und fünften Knopf. Für den Anfang würde ich das für die Kids aber nicht aktivieren.
Das wäre meine Präferenz.

You did? It was possible?

Technisch möglich sollte es doch eigentlich sein! Ich habe es noch nicht probiert, habe jedoch schon die Softwareversion von @mcgreg auf meinem Versuchsaufbau drauf. Die Lösung mit der Funktion die aktivierbar ist über das Adminmenü finde ich sehr gut. Ich überlege jedoch auch eine Variante mit zwei Buttons auf der Oberseite und einem dritten (kleineren und evtl. versenkten) auf der Rückseite zu bauen. Den dritten Button braucht man ja aktuell auf jeden Fall.
Eine Lösung könnte sein, dass zur Bestätigung die beiden Buttons (+ und -) zusammen zB für eine Sekunde gedrückt gehalten werden müssen. Wie man so etwas umsetzt, weiß ich jedoch überhaupt nicht!
Ich würde es auch sehr begrüßen, wenn die Funktion mit in die DEV (und anschließend in die Master) übernommen werden würde! Man kann sie ja wie bei @mcgreg anschaltbar und standardmäßig deaktiviert implementieren.

Also ich selber hab meine Version mit „Stop when Card away“ seit einem Jahr praktisch im Dauerbetrieb und die Play/Pause Taste kann man meiner Meinung nach schon wegrationalisieren.

Ich werde wohl für den kleinen bald noch eine Tonuino Box bauen, und da spiele ich auch mit dem Gedanken nur zwei tasten zu spendieren.

Das betreten des Admin Menüs ist bei mir sowieso nur mit einer Admin Karte möglich, denn häufig steht die Box auf dem Kopf, dann werden alle Knöpfe gedrückt :roll_eyes:

Mit schwebte auch die Lösung vor, die @DerJonas erwähnt hat: Bestätigen der Auswahl im Admin Menü durch gleichzeitiges Drücken der + und - Buttons. Ist nicht intuitiv, aber im Admin Menü haben eh die Kids nichts zu suchen.

Natürlich ist das technisch möglich und es ist auch nicht schwer. Ich weiß nicht, wie das im Originalprojekt gemacht wird, aber in meinem kürzlich vorgestellten Projekt geht das so:

  1. Es wird ein Hardware-Timer initialisiert, der 1000mal pro Sekunde triggert.
  2. Zur Initialisierung werden für alle Tasten Werte festgelegt. Also pro Taste zwei Bool-Werte (oder Bits): Einmal den aktuellen Wert (currentValue) und einmal den Wert davor (lastValue). Beide stehen auf dem gleichen Wert am Anfang.
  3. Der Hardware-Timer prüft dann 1000 mal pro Sekunde, ob currentValue ungleich lastValue ist.
  4. Sobald das der Fall ist…
    4a) Lässt man in einem Zeitraum von etwa 20ms keine weiteren Eingaben mehr zu, um den Taster zu entprellen. In der Praxis ist das nicht so, wie man sich das theoretisch denkt, sondern der Taster schwingt quasi erst ein. Um da nicht mehrere Signale zu kriegen, muss man das entprellen.
    4b) Man setzt lastValue=currentValue, so dass der nun gedrückte Zustand wieder der neue und der alte Zustand ist.
    4c) Man speichert den Zeitstempel in ms ab, wenn gedrückt wurde
  5. An anderer Stelle erkennt man nun, dass gedrückt wurde und wartet drauf, dass wieder losgelassen wird. Hier kann man dann unterscheiden, ob man ein kurzes oder ein langes Event hat, denn den Zeitstempel hat man sich in 4c ja gemerkt und die aktuelle Zeit kennt man. Für das lange Event kann man entweder drauf warten, dass wieder losgelassen wird (das triggert dann nur einmal) oder für lauter und leiser feuert man halt zyklisch ein Event, wenn die Taste weiterhin gedrückt wurde.
  6. Die Bedinungen kann man natürlich auch erweitern, so dass mehrere Tasten parallel eine andere Aktion auslösen. Hier muss man halt nur drauf achten, dass man die Aktionen, die die einzelnen Tasten sonst für sich noch auslösen, nicht parallel noch auslöst.

Bei den RFIDs, auch wenn ich jetzt nicht so der Freund davon wäre, die Musik ausgehen zu lassen, scannt man zyklisch (natürlich nicht 1000 Hz, bei mir sinds alle 300ms). Habe ich also eine Karte aufgelegt, dann merke ich mir dessen ID. Meine Erwartungshaltung ist dann, dass beim nächsten Scan das Gleiche wieder rauskommt. Kommt was Anderes raus, dann muss man unterscheiden, ob gar keine Rfid-Tag aufgelegt wurde oder ein anderer. Zur Sicherheit misst man vielleicht noch ein zweites Mal, um Fehler auszuschließen. Und kommt man wieder zum gleichen Ergebnis, dann muss halt die Musik gestoppt und ggf. was Anderes neu gestartet werden. Und wenn man zusätzlich noch will, dass die letzte Abspielposition der alten Karte gespeichert wird, dann muss man das halt machen :slight_smile:

Im Endeffekt ist es alles kein Hexenwerk. Man muss alte Zustände halt einfach nur zwischenspeichern und dann schauen, ob sich zum neuen Zustand was verändert hat. Und wenn ja, dann führt man die gewünschten Aktionen aus.

Wie das mit Adminmodus ist weiß ich nicht, da ich das Handling des Originalprojektes kaum kenne. Mein Anliegen ist eher zu motivieren, sich das Ganze einfach mal anzuschauen und zu verstehen :slight_smile:

Vielleicht sollte man bevor man den Namen eines Projektes übernimmt wenigstens wissen was es ist und was es macht. Es stiftet einfach nur unnötig Verwirrung. Darum haben wir ja hier im Forum z.B. extra die 3rd Party Kategorie eingeführt. Wenn nun auf Github jemand nach TonUINO sucht sollte das er findet auch etwas mit TonUINO zu tun haben.

Aber vielen Dank für deinen Input und die ausführliche Dokumentation.

Ich weiß durchaus, was es macht, aber das Projekt „lebt“ ja auch. Insofern bin ich da nicht auf dem aktuellen Stand, wie etwas im Detail aktuell umgesetzt ist. Mein letzter Stand ist ein paar Monate alt. Dass es einen Adminmodus gibt und was er macht ist mir klar; meine Aussage implizierte mehr, dass ich nicht weiß, wie „verwoben“ die einzelnen Tasten im Code sind und wieviel Aufwand es bedeutet, hier eine andere Tastenbelegung einzubauen. Meine von dir zitierte Aussage sollte nicht despektierlich sein. Falls es so rüberkommen ist: War nicht meine Absicht.

Dass meine Ausführungen in 3rd Party gehören war mir nicht bewusst, sonst hätte ich es dort integriert. Aber ich merke schon, dass ich dir offenbar hinreichend auf die Füße getreten bin. Ich werde also entweder auf Github einen Disclaimer integrieren (wie ich ihn schon in meiner Projektbeschreibung hier habe) und/oder mein Projekt umbenennen. Da ich keinen Code übernommen habe, wohl aber die Grundidee, wäre das wohl angebracht.

Moin Ingmar,
@biologist hat das ja schon sehr präzise beschrieben bei meinem #3rd-party Projekt: Toniebox Upcycling ist es genauso umgesetzt. 2 Tasten für laut/next leise/Last Autoplay und Stopp.
Das ganze basiert auf dem Put’n’Play cube. Läuft seit einigen Monaten und ist sehr intuitiv zu bedienen - der Funktionsumfang ist aber deutlich kleiner als beim Tonuino

Für mich ist das überhaupt kein Problem, einen dritten Taster zu verwenden. Ich werde es vermutlich so machen, dass ich auf der Rückseite ein 3-4mm Loch ins Gehäuse mache. Da kann man zB mit einem Stift oder so für das Adminmenü dann „Play/Pause“ betätigen. Mal sehen, wie leicht das umsetzbar ist.

ich lese immer wieder von Autoplay.
Also abspielen beim auflegen der Karte. Meine box macht das nicht
und auch nach längerer suche habe ich dazu nix gefunden. Kann mir jemand erklären wie das funktioniert ich muss da etwas übersehen haben.

Ist vielleicht etwas versteckt in der #hardware FAQ, aber das könnte dein Problem sein:

Die Konsole zeigt entsprechende Fehler in dem Fall. Sprich der Player kann dem Arduino nicht antworten. Das verhindert das automatische Abspielen nach Karte auflegen, hat auch andere Nebenwirkungen und gehört behoben.

1 „Gefällt mir“

hat funktioniert danke