
# Code for XIAO 1

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

uart = busio.UART(board.D5, 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] == "1":
            distance = float(data.decode().strip()[1:])
            angle = (distance - 10.0) * 18
            if angle < 180 and angle > 1:
                my_servo.angle = angle
            time.sleep(0.05)
        else:
            uart.write(data)
            
            
            
            
