from machine import Pin, ADC, PWM
import time

class Servo:

    def __init__(self, pin = 13) -> None:
        self.servo = PWM(Pin(pin), freq = 50)

    def refresh(self, perc):
        duty_min=26
        duty_max=123
        angle = perc *1.8
        self.servo.duty(int(duty_min+(angle/180)*(duty_max-duty_min)))

class Fotoresistore:

    def __init__(self, pin = 0) -> None:
        self.fotoresistore = ADC(Pin(pin))

    def readPerc(self):
        minVal=0
        maxVal=100
        return 100-((maxVal-minVal) * self.fotoresistore.read() / 4095)

class LedBuzzer:

    def __init__(self, pinLed = 15, pinBuzzer = 2) -> None:
        self.led = Pin (pinLed, Pin.OUT)
        self.buzzer = PWM(Pin(pinBuzzer, Pin.OUT))

    def refresh(self, perc):
        if perc<=20:
            self.led.on()
            self.buzzer.freq(440)
            self.buzzer.duty(50)
        else:
            self.led.off()
            self.buzzer.duty(0)

fotoresisotre = Fotoresistore()
ledBuzzer = LedBuzzer()
servo = Servo()

while True:
    perc = (int)(fotoresisotre.readPerc())
    print(perc)
    ledBuzzer.refresh(perc)
    servo.refresh(perc)
    time.sleep_ms(100)
$abcdeabcde151015202530354045505560fghijfghij