import time import analogio import board import digitalio from adafruit_hid.mouse import Mouse mouse = Mouse() x_axis = analogio.AnalogIn(board.A0) y_axis = analogio.AnalogIn(board.A1) select = digitalio.DigitalInOut(board.A2) select.direction = digitalio.Direction.INPUT select.pull = digitalio.Pull.UP pot_min = 0.00 pot_max = 3.29 step = (pot_max - pot_min) / 20.0 def get_voltage(pin): return (pin.value * 3.3) / 65536 def steps(axis): """ Maps the potentiometer voltage range to 0-20 """ return round((axis - pot_min) / step) while True: x = get_voltage(x_axis) y = get_voltage(y_axis) if select.value is False: mouse.click(Mouse.LEFT_BUTTON) time.sleep(0.2) # Debounce delay if steps(x) > 11.0: # print(steps(x)) mouse.move(x=1) if steps(x) < 9.0: # print(steps(x)) mouse.move(x=-1) if steps(x) > 19.0: # print(steps(x)) mouse.move(x=8) if steps(x) < 1.0: # print(steps(x)) mouse.move(x=-8) if steps(y) > 11.0: # print(steps(y)) mouse.move(y=-1) if steps(y) < 9.0: # print(steps(y)) mouse.move(y=1) if steps(y) > 19.0: # print(steps(y)) mouse.move(y=-8) if steps(y) < 1.0: # print(steps(y)) mouse.move(y=8)