def __init__(self): self.stepsPerRev = 200 self.clk = 17 self.dt = 18 self.hef = 22 self.q = Queue(0) self.saw = seesaw.Seesaw (board.I2C(), 0x36) self.encoder = rotaryio.IncrementalEncoder(self.saw) GPIO.setmode(GPIO.BCM) GPIO.setup(self.clk, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) GPIO.setup(self.dt, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) GPIO.setup(self.hef, GPIO.IN, pull_up_down=GPIO.PUD_UP) self.counter = 0 self.clkLastState = GPIO.input(self.clk) pump_thread = Thread(target=self.run) pump_thread.start() pump_thread2 = Thread(target=self.flush_queue) pump_thread2.start()
def __init__(self, i2c, address, is_inverted=False): try: from adafruit_seesaw import digitalio, neopixel, rotaryio, seesaw except ImportError: print('seesaw missing') return super().__init__(is_inverted) self.seesaw = seesaw.Seesaw(i2c, address) # Check for correct product seesaw_product = (self.seesaw.get_version() >> 16) & 0xFFFF if seesaw_product != 4991: print('Wrong firmware loaded? Expected 4991') self.encoder = rotaryio.IncrementalEncoder(self.seesaw) self.seesaw.pin_mode(24, self.seesaw.INPUT_PULLUP) self.switch = digitalio.DigitalIO(self.seesaw, 24) self.pixel = neopixel.NeoPixel(self.seesaw, 6, 1) self._state = self.encoder.position
# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries # SPDX-License-Identifier: MIT """I2C rotary encoder NeoPixel color picker and brightness setting example.""" import board from rainbowio import colorwheel from adafruit_seesaw import seesaw, neopixel, 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(), 0x36) encoder = rotaryio.IncrementalEncoder(seesaw) seesaw.pin_mode(24, seesaw.INPUT_PULLUP) switch = digitalio.DigitalIO(seesaw, 24) pixel = neopixel.NeoPixel(seesaw, 6, 1) pixel.brightness = 0.5 last_position = -1 color = 0 # start at red while True: # negate the position to make clockwise rotation positive position = -encoder.position if position != last_position: print(position)
import board from adafruit_seesaw import seesaw, rotaryio, digitalio, neopixel qt_enc1 = seesaw.Seesaw(board.I2C(), addr=0x36) qt_enc2 = seesaw.Seesaw(board.I2C(), addr=0x37) qt_enc1.pin_mode(24, qt_enc1.INPUT_PULLUP) button1 = digitalio.DigitalIO(qt_enc1, 24) button_held1 = False qt_enc2.pin_mode(24, qt_enc2.INPUT_PULLUP) button2 = digitalio.DigitalIO(qt_enc2, 24) button_held2 = False encoder1 = rotaryio.IncrementalEncoder(qt_enc1) last_position1 = None encoder2 = rotaryio.IncrementalEncoder(qt_enc2) last_position2 = None pixel1 = neopixel.NeoPixel(qt_enc1, 6, 1) pixel1.brightness = 0.2 pixel1.fill(0xFF0000) pixel2 = neopixel.NeoPixel(qt_enc2, 6, 1) pixel2.brightness = 0.2 pixel2.fill(0x0000FF) while True: