PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Der Drehgeber (Rotary Encoder)



rkv
15.05.2020, 16:14
Hallo,

mich haben in den letzten Wochen viele emails bzgl. Drehgeber und Fernbedienung erreicht. Daher habe ich mich gestern in der Mittagspause kurz hingesetzt und eine Beispielimplementierung für einen Drehgeber gemacht. Das war schnell gemacht, ist ja keine Raketenwissenschaft.

Verwendet habe ich das KY-040-Modul:
https://www.az-delivery.de/products/drehimpulsgeber-modul?_pos=2&_sid=c143c2233&_ss=r
Einfach googeln, gibt es von mehreren Händlern.

Die Verdrahtung ist eigentlich selbsterklärend. Ich werde aber für die gesamte Peripherie (Display, IR, Drehgeber) ein Tutorial in das Handbuch aufnehmen.

Ich habe den Drehgeber zunächst mit zwei Funktionen belegt:
Mode 0: Rechtsdreh erhöht Master Volume, Linksdreh verringert Master Volume
Mode 1: Rechtsdreh schaltet ein Preset vor, Linksdreh schaltet ein Preset zurück
Mit Drücken des Drehgebers wird der Mode hin- und her geschaltet.

Den Sourcecode findet ihr im aktuellen Commit des Develop-Branch.
Mit dem Firmwareupdate Ende Mai wird dieser dann auch in das stable release einfliessen und dann allen zur Verfügung stehen. Dann braucht man nur noch selber programmieren, wenn man einen anderen Drehgeber verwenden will oder ihn mit anderen Funktionen belegen will. Vielleicht gibt es ja auch noch Ideen, was man damit sonst noch machen kann. Lasst Eurer Kreativität reinen Lauf und programmiert los!

Raphael

danny_aux
16.05.2020, 06:51
Top! Danke.

MarsianC#
16.05.2020, 15:00
Eine Erweiterung auf Umschalten der angezeigeten Elemente am Display wäre toll, dann ist gleich klar welcher Modus aktiv ist. Mode 0 so wie von dir (Im Displaythread) gezeigt mit großer LS-Anzeige in dB, Mode 1 mit größerer Anzeige aller Presets. Z.B. wenn Preset B aktiv ist: A B C D, also irgendwie hervorgehoben.

Wenn möglich einen Neustart von Aurora über 10 s gedrückt halten auslösen, Mute/Dim (-20dB) über Doppeldruck.

Wann wird das Preset umgeschalten? Nach einem bestimmten, einstellbaren Drehwinkel? Sprich der Lautstärkeregler kann nicht absolut sein, da er ja keinen Endanschlag hat.

PS: Lässt sich ein LED-Ring (https://www.az-delivery.de/collections/more-products-1/products/kopie-von-rgb-led-ring-ws2812-mit-12-rgb-leds-5v-fuer-arduino) (die wissen genau was sie vorschlagen müssen ;)) halbwegs einfach dazubasteln? Gerade für die optische Darstellung der LS sehe ich das als sehr praktisch an, Display hin oder her (will vermutlich nicht jeder). Den Presets könnte man verschiedene Farben/Positionen zuweisen.

kboe
16.05.2020, 22:25
Wenn möglich einen Neustart von Aurora über 10 s gedrückt halten auslösen,



Wozu könnte das gut sein? :confused:
Wenn man eh schon am Gerät steht, kann man doch auch einen Hauptschalter betätigen. Und das in weniger als 10 Sekunden?

Hab mir grad den LED Ring angeschaut. Wir beiden dürften ziemlich unterschiedliche Geschmäcker haben:D:D

Gruß Bernhard

rkv
16.05.2020, 23:37
@MarsianC#: Ich habe das so gelöst, dass in Mode 1 unter dem Presetbuchstaben ein Balken eingeblendet wird.
Der Drehgeber ist endlos, aber gerastet. In Mode 0 wird mit jeder Raste die Lautstärke um 0.5dB erhöht/verringert jeweils bis zum Minimum oder Maximum. In Mode 1 werden mit jeder Raste die Presets zyklisch vor- oder zurück geschaltet. Im Grunde kennst Du das Drehgefühl von diversen Audiointefaces oder -geräten. Die DCX hat auch so einen Drehgeber.
Der LED-Kranz ist nicht ganz so einfach. Ich würde mir da noch einen kleine Arduino dazwischen basteln, den mit i2c vom ESP32 ansteuern und im Arduino dann die Protokollübersetzung für den LED-Ring machen.

MarsianC#
17.05.2020, 17:37
Hab mir grad den LED Ring angeschaut. Wir beiden dürften ziemlich unterschiedliche Geschmäcker haben:D:D

Ich hatte an einen dezenten Einsatz unter einem großen Poti gedacht. Die Farbauswahl muss ja nicht bunt sein....
Da ich nicht vorhabe am Gerät selber Bedienelemente anzubringen finde ich es mehr als praktisch wenn ich nich jedes mal zum Rack gehn muss. Immerhin muss ich dazu einmal um den Schreibtisch rum ;)
Stromlos nehmen finde ich nicht sehr elegant.

danny_aux
12.08.2020, 20:13
Ich habe eine Bitte die schon mal hier erwähnt wurde. Raphael, kannst Du bitte noch das rebooten nach x Sekunden drücken in den Quell Code implementieren? Das wäre super!

danny_aux
13.08.2020, 11:32
Und noch eine Frage. Wenn dir drehrichtung meines drehgeber nicht stimmt (leiser ist Moment drehen nach rechts - lauter nach links), dann einfach die Pins DT und CLK vertauschen oder ?

kboe
13.08.2020, 11:40
Lt. Datenblatt ja.

danny_aux
13.08.2020, 13:04
Im Datenblatt stand halt nur vom Volumen poti das es geht. Nicht vom drehgeber an x502. Deswegen die Frage. :)

Danke.