Der Drehencoder

Auf den ersten Blick sieht ein Rotary Encoder, Drehwinkelgeber oder auch Drehgeber aus wie ein normales Potentiometer. Aber nein, genau genommen ist er ein kodierter Drehschalter bzw. ein rotierendes Eingabemodul.
In der funktionalen Bedienung gibt es zum Potentiometer zwei wesentliche Unterschiede.
- Bei einem Potentiometer ist irgendwann der Endpunkt in beide Richtungen erreicht. Ein Encoder kann endlos in beide Richtung gedreht werden. Wenn es einen Endpunkt geben soll, dann muss das per Software festgelegt werden. Den Encoder kann man aber trotzdem über den Endpunkt hinaus weiterdrehen. Beim Drehen kann der Bediener jeden Drehschritt erfühlen. Der Drehschalter rastet bei jedem Drehschritt in eine Schaltposition.
- Der zweite Unterschied ist, dass der Drehschalter gleichzeitig auch noch ein Taster ist. Er kann also nicht nur gedreht, sondern auch noch gedrückt werden.
Ein Rotary Encoder wird deim TonUINO gern zur Einstellung der Lautstärke eingesetzt, besonders, wei er keinen mechanischen Anschlag hat und somit beliebig weit gedreht werden kann, ohne ihn u beschädigen.
Der integrierte Taster bietet zusätzlich die Möglichkeit den Encoder mit den Funktionen der Pause-Taste zu belegen.
Damit der Drehencoder verwendet werden kann, muss die Firmware entsprechend konfiguriert werden.
Bedienung
Mit dem Einsatz des Drehencoders verändert sich die Bedienung des TonUINO. Es entstehen 2 Möglichkeiten der Bedienung:
- Bedienung nur über den Drehencoder
Der Drehencoder ist in der Lage sämtliche Bedientasten des TonUINO zu ersetzen.
Der Taster unter der Drehachse übernimmt die Funktion der Play / Pause Taste,
die Drehung um nur eine Raststellung wird als kurzer Tastendruck, eine Drehung um mehr als eine Raststellung als langer Tastendruck ausgewertet.
Damit lassen dann Lautstärkeänderungen (kurzer Tastendruck) sowie auch Titelsprünge (langer Tastendruck) über Drehbewegungen auslösen.
Bei diesem Bedienkonzept sind einige Shortcuts sowie der Zugang zum Admin Menü über eine Tastenkombination nicht mehr möglich. Das Admin Menü ist dann nur noch über eine entsprechende Karte erreichbar.
Da bei dem Drehgeber die Bewegung sehr feinfühlig ausgeführt werden muss, um eine zuverlässige Unterscheidung zwischen kurzem und langem Tastendruck
zu erreichen, kommt es häufiger zu ungewollten Titelsprüngen. Dies ist besonders ärgerlich bei längeren Titeln (z.B. Hörspielen o. ä.) wenn statt der gewünschten Lautstärkeänderung ein Titelsprung erfolgt,
weil dann der ursprüngliche Titel wieder erneut vom Anfang gestartet werden muss.
- Bedienung über Drehencoder + 2 Tasten
Auch in dieser Variante übernimmt der Taster unter der Drehachse die Funktion der Play / Pause Taste.
Die Drehfunktion des Encoders wird allerdings nur zur Lautstärkeregelung verwendet und für die Titelsprungfunktion
werden 2 separate Taster angeschlossen.
Bei dieser Konstellation ist eine Unterscheidung von kurzem und langem Tastendruck nicht mehr notwendig, da der Titelsprung über die 2 zusätzlichen Tasten ausgelöst wird.
Durch die nun saubere Trennung von Lautstärkeeinstellung und Titelsprung reduziert sich die Anzahl ungewollter Titelsprünge erheblich.
Diese Variante ist das in der Praxis bevorzugte Bedienkonzept in Verbindung mit einem Drehencoder.
Konfiguration der Firmware
Um den Drehencoder einsetzen zu können, muss die Firmware vor dem Compilieren entsprechend konfiguriert werden:
- Bedienung nur über den Drehencoder:
- es wird die 3-Tasten Version aktiviert (#define THREEBUTTONS)
- der Programmteil für den Drehencoder wird aktiviert (define ROTARY_ENCODER)
- die Erkennung von kurzem und langem Tastendruck wird aktiviert (#define ROTARY_ENCODER_LONGPRESS)
- Tasten werden keine angeschlossen
- Bedienung über Drehencoder + 2 Tasten:
- es wird die 5-Tasten Version aktiviert (#define FIVEBUTTONS)
- der Programmteil für den Drehencoder wird aktiviert (define ROTARY_ENCODER)
- die Erkennung von kurzem und langem Tastendruck wird NICHT aktiviert (//#define ROTARY_ENCODER_LONGPRESS)
- Um Koflikte bei der Pin Zuordung zwischen Tasten und Drehencoder zu beseitigen, wird die Tasten- und Pin-Zuordnung
in der constants.hpp wie folgt angepasst:
- "buttonUpPin = A1“,
- "buttonDownPin = A2“,
- "buttonFourPin =A3"
- "buttonDownPin = A4"
- die 2 zusätzlichen Tasten werden als "buttonUP" (an A1) und "buttonDown" (an A2) angeschlossen
Die Schaltung