from machine import Pin, ADC, PWM
from utime import sleep
x_axis = ADC(Pin(26))
y_axis = ADC(Pin(27))
button = Pin(14, Pin.IN, Pin.PULL_UP)
servo = PWM(Pin(15), freq=50)
def set_servo_angle(x_val):
MIN_DUTY = int((1 / 20) * 65535) # 3277 (1ms pulse)
MAX_DUTY = int((2 / 20) * 65535) # 6554 (2ms pulse)
if x_val < 32759:
servo.duty_u16(MIN_DUTY)
elif x_val > 32759:
servo.duty_u16(MAX_DUTY)
while True:
x_val = x_axis.read_u16()
y_val = y_axis.read_u16()
button_state = button.value()
set_servo_angle(x_val)
print(f"X: {x_val}, Y: {y_val}, Button: {'Pressed' if button_state == 0 else 'Released'}")
sleep(0.2)