Instructions
KY-040 Kodierter Drehschalter (Rotary Encoder)
Ausgabe: 29.04.2016 Copyright by Joy-IT - Published under CC BY-NC-SA 3.0 Seite 202 von 227
if (Richtung)
{
Serial.println ("Im Uhrzeigersinn");
}
else
{
Serial.println("Gegen den Uhrzeigersinn");
}
Serial.print("Aktuelle Position: ");
Serial.println(Counter);
Serial.println("------------------------------");
}
// Vorbereitung für den nächsten Druchlauf:
// Der Wert des aktuellen Durchlaufs ist beim nächsten Druchlauf der vorherige Wert
Pin_clk_Letzter = Pin_clk_Aktuell;
// Reset-Funktion um aktuelle Position zu speichern
if (!digitalRead(button_pin) && Counter!=0)
{
Counter = 0;
Serial.println("Position resettet");
}
}
Anschlussbelegung Arduino:
CLK = [Pin 3]
DT = [Pin 4]
Button = [Pin 5]
+ = [Pin 5V]
GND = [Pin GND]
Beispielprogramm Download
KY-040_RotaryEncoder.zip
Codebeispiel Raspberry Pi
Das Programm überprüft, falls eine Änderung der Pin-Zustände sich ereignet hat, welcher der beiden Pins
sich zuerst geändert hatte, was auf die Drehrichtung schließen lässt.Diese Information erhält man, in dem
man einen der beiden Pin-Werte aus einem vorherigen Durchlauf mit dem Wert des aktuellen Durchlaufs
vergleicht.
Nachdem die Richtung festgestellt wurde, werden die Schritte von der Startposition an gezählt und
ausgegeben. Ein Drücken auf den Knopf des Drehgebers resettet die aktuelle Position.
# coding=utf-8
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier werden die Eingangs-Pins deklariert, an dem der Sensor angeschlossen ist.
PIN_CLK = 16
PIN_DT = 15










