
# Code for XIAO 2

import time
import board
import pwmio
import servo
from microcontroller import Pin
import digitalio
import busio

uart = busio.UART(board.TX, board.RX, baudrate=9600, timeout=0.1)

# create a PWMOut object on Pin A2.
pwm = pwmio.PWMOut(board.D10, duty_cycle=2 ** 15, frequency=50)

# Create a servo object, my_servo.
my_servo = servo.Servo(pwm, min_pulse=500, max_pulse=2400, actuation_range=180)

while True:
    data = uart.readline()
    if data is not None:
        if data.decode().strip()[0] == "2":
            distance =  float(data.decode()[1:].strip())
            angle = distance * 18
            if angle < 180 and angle > 1:
                my_servo.angle = angle
            time.sleep(0.05)
    

