Wie Drehgeber mit Arduino funktioniert!

Ein Drehgeber ist ein großartiges Eingabegerät für jedes Projekt, z. B. das Menü eines 3D-Druckers. In diesem Tutorial erfahren Sie, wie ein Drehgeber funktioniert und wie er mit Arduino verwendet wird.

Also lasst uns anfangen!

Schritt 1: Sehen Sie sich das Video an!

Wenn Sie nicht alles lesen möchten, was Sie in meinem Video sehen können, ist es viel einfacher zu verstehen.

Schritt 2: Übersicht

Ein Drehgeber, auch Wellengeber genannt, ist ein elektromechanisches Gerät, das die Winkelposition oder Bewegung einer Welle oder Achse in analoge oder digitale Ausgangssignale umwandelt.

Es gibt zwei Haupttypen von Drehgebern

1) Absolut - Der Ausgang eines Absolutwertgebers zeigt die aktuelle Wellenposition an und macht ihn zu einem Winkelwandler.

2) Inkremental - Der Ausgang eines Inkrementalgebers liefert Informationen über die Bewegung der Welle, die normalerweise an anderer Stelle zu Informationen wie Position, Geschwindigkeit und Entfernung verarbeitet werden.

Hinweis: Einer, den wir in unserem Projekt verwenden, ist der inkrementelle Typ, daher konzentrieren wir uns darauf.

Schritt 3: Was ist ein Inkremental-Drehgeber?

Ein Inkrementalgeber meldet sofort Positionsänderungen (im Uhrzeigersinn und gegen den Uhrzeigersinn), was in einigen Anwendungen eine wesentliche Funktion ist. Es wird jedoch keine absolute Position gemeldet oder verfolgt. Infolgedessen muss das von einem Inkrementalgeber überwachte mechanische System möglicherweise zu einem festen Referenzpunkt bewegt werden, um die Positionsmessung zu initialisieren.

Schritt 4: Bauen & Arbeiten

Eine, die ich habe, ist in diesem Breakout-Board enthalten, auf dem bereits die erforderlichen Pull-up-Widerstände vorhanden sind.

Es hat fünf Pins - Clock, Data, Switch, Vcc, GND

Konstruktion:

Der Knopf, den wir drehen, ist intern mit der Platte verbunden (Bild - 2). Wenn wir im oder gegen den Uhrzeigersinn drehen, bewegt es sich entsprechend. Der graue Teil ist GND und goldene Kontaktpunkte sind mit Vcc verbunden. Es gibt zwei Kontaktpunkte in einem bestimmten Abstand voneinander, die nichts anderes als unsere CLOCK- und DATA-Linie sind.

Arbeiten:

Wenn wir unseren Encoder drehen, ändern sich die beiden Ausgänge abhängig von der Position des Encoders. Welches wird zwei Züge von Impulsen erzeugen.

Wenn Sie genau hinschauen, sind diese beiden Signale um 90 Grad phasenverschoben. Wenn sich der Encoder im Uhrzeigersinn dreht, führt CLOCK und wenn sich der Encoder gegen den Uhrzeigersinn dreht, führt DATA.

Wenn Sie sich die Zustandsänderung für zwei Signale im Uhrzeigersinn ansehen, haben sie entgegengesetzte Werte und für gegen den Uhrzeigersinn dieselben Werte.

Und wenn wir unser Arduino jetzt entsprechend programmieren, können wir es mit unserem Projekt zum Laufen bringen.

Schritt 5: Programmierung

Beispiel 1: (Counter.ino)

In diesem Beispiel ist CLK mit Pin 3, DT mit 4 und SW mit 5 verbunden. Dann haben wir einige Variablen zum Speichern von Daten. Im Abschnitt zum Einrichten der Leere werden CLK, DT und SW als Eingabe festgelegt und dann der serielle Befehl gestartet und hier die aktuelle Position im letzten Zustand gespeichert

Im Abschnitt "Void Loop" lesen wir zuerst den aktuellen Status der Uhr und verwenden ihn, um zu überprüfen, ob er sich geändert hat.

Wenn der Zustand! = Letzter Zustand bedeutet, dass die Position geändert wurde. Und wenn Daten! = Zustand, dann CW sonst CCW, was den Zähler entsprechend erhöht oder verringert.

Dann wurde mit seriellem Druck die Zählervariable gedruckt. Und wenn der Schalter gedrückt wird, wird der Zähler auf 0 zurückgesetzt und gedruckt. Am Ende wird der Status in den letzten Status versetzt

Beispiel 2: (LEDBrightness.ino)

In diesem Beispiel habe ich den Zählerwert in die analoge Schreibfunktion gesetzt und die Einschränkungsfunktion verwendet, um die Wut zwischen 0 und 255 zu begrenzen, damit sie funktioniert

Hinweis: Es ist besser, wenn Sie den Code in der Arduino IDE öffnen und einmal lesen

Anhänge

  • Counter.ino herunterladen
  • LEDBrightness.ino herunterladen

Schritt 6: Danke!

Schauen Sie sich JLCPCB an
$ 2 PCB-Prototyp (10 Stück, 10 * 10 cm): //jlcpcb.com

Das ist es, wenn du meine Arbeit magst

Schauen Sie sich meinen YouTube-Kanal an, um weitere tolle Informationen zu erhalten: //www.youtube.com/c/Nematics_lab

Sie können mir auch auf Facebook, Twitter usw. für anstehende Projekte folgen

//www.facebook.com/NematicsLab/

//www.instagram.com/nematic_yt/

//twitter.com/Nematic_YT

Ähnlicher Artikel