From ab000a200fbc3c1253fb0ed6ae63db1c43e5edf0 Mon Sep 17 00:00:00 2001 From: David Thurstenson Date: Wed, 19 Oct 2022 12:36:37 -0500 Subject: [PATCH] Added rotary encoder example --- examples/rotary-encoder-stemma.py | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 examples/rotary-encoder-stemma.py diff --git a/examples/rotary-encoder-stemma.py b/examples/rotary-encoder-stemma.py new file mode 100644 index 0000000..3bb24a0 --- /dev/null +++ b/examples/rotary-encoder-stemma.py @@ -0,0 +1,33 @@ +# Ref: https://learn.adafruit.com/adafruit-i2c-qt-rotary-encoder/python-circuitpython +import board +from adafruit_seesaw import seesaw, rotaryio, digitalio +import busio + +SDA = board.GP0 +SCL = board.GP1 +i2c = busio.I2C(SCL, SDA) +seesaw = seesaw.Seesaw(i2c, 0x36) + +seesaw.pin_mode(24, seesaw.INPUT_PULLUP) +button = digitalio.DigitalIO(seesaw, 24) +button_held = False + +encoder = rotaryio.IncrementalEncoder(seesaw) +last_position = None + +while True: + + # negate the position to make clockwise rotation positive + position = -encoder.position + + if position != last_position: + last_position = position + print("Position: {}".format(position)) + + if not button.value and not button_held: + button_held = True + print("Button pressed") + + if button.value and button_held: + button_held = False + print("Button released") \ No newline at end of file