# SPDX-FileCopyrightText: 2021 John Furcean # SPDX-License-Identifier: MIT """I2C rotary encoder simple test example.""" import board from adafruit_seesaw import seesaw, rotaryio, digitalio # For use with the STEMMA connector on QT Py RP2040 # import busio # i2c = busio.I2C(board.SCL1, board.SDA1) # seesaw = seesaw.Seesaw(i2c, 0x36) seesaw = seesaw.Seesaw(board.I2C(), addr=0x36) seesaw_product = (seesaw.get_version() >> 16) & 0xFFFF print("Found product {}".format(seesaw_product)) if seesaw_product != 4991: print("Wrong firmware loaded? Expected 4991") 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")