Micropython + ESP32-Pro + Control Servo

https://item.taobao.com/item.htm?id=1071023645024&mi_id=00003svvqBSmElgVsyK8VJxzItBHns9PUFO97Jhmi8GDNyE&spm=tbpc.boughtlist.suborder_itempic.d1071023645024.3fa02e8deVsWLO

import os
f=open("servo.py", "w")
f.write("""
from machine import Pin, PWM
class Servo:
    def __init__(self, pin: int or Pin or PWM, minVal=2500, maxVal=7500):
        if isinstance(pin, int):
            pin = Pin(pin, Pin.OUT)
        if isinstance(pin, Pin):
            self.__pwm = PWM(pin)
        if isinstance(pin, PWM):
            self.__pwm = pin
        self.__pwm.freq(50)
        self.minVal = minVal
        self.maxVal = maxVal
 
    def deinit(self):
        self.__pwm.deinit()
 
    def goto(self, value: int):
        if value < 0:
            value = 0
        if value > 1024:
            value = 1024
        delta = self.maxVal-self.minVal
        target = int(self.minVal + ((value / 1024) * delta))
        self.__pwm.duty_u16(target)
 
    def middle(self):
        self.goto(512)
 
    def free(self):
        self.__pwm.duty_u16(0)""");
f.close()


def servo_Angle(var1, angle):
    if angle < 0:
        angle = 0
    if angle > 180:
        angle = 180
    var1.goto(round(angle * 1024 / 180))

from machine import Pin, SoftI2C, ADC, PWM, UART
from time import sleep,sleep_ms, sleep_us
#import tm1637
import network
import math

from servo import Servo

servo=Servo(32)
for i in range(10):
    servo_Angle(servo, 0)
    sleep(1)
    servo_Angle(servo, 180)
    sleep(1)