code.py
 1  # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
 2  #
 3  # SPDX-License-Identifier: MIT
 4  
 5  import usb_cdc
 6  import rotaryio
 7  import board
 8  import digitalio
 9  
10  serial = usb_cdc.data
11  encoder = rotaryio.IncrementalEncoder(board.ROTA, board.ROTB)
12  button = digitalio.DigitalInOut(board.SWITCH)
13  button.switch_to_input(pull=digitalio.Pull.UP)
14  
15  last_position = None
16  button_state = False
17  
18  while True:
19      position = encoder.position
20      if last_position is None or position != last_position:
21          serial.write(bytes(str(position) + ",", "utf-8"))
22      last_position = position
23      print(button.value)
24      if not button.value and not button_state:
25          button_state = True
26      if button.value and button_state:
27          serial.write(bytes("click,", "utf-8"))
28          button_state = False