from machine import Pin, PWM
from time import sleep
class ControladorLED:
def __init__ (self, ini_led):
self.led = PWM(Pin(15, ini_led), freq = 1000, duty = 0)
def ligar(self):
self.led.duty(1023)
def desligar(self):
self.led.duty(0)
def definir_intensodade(self, valor):
valor = max(0, min(100, valor))# garante com que os valores fiquem entre 0 e 100 ( tive que buscar oytra maneira de fazer isso sem o if e elif)
duty = int((valor/100)* 1023)
self.led.duty
def ini_controleled(ini_led):
led = ControladorLED(ini_led)
print('Digite um número de 0 a 100 para ajustar o brilho ou "on" e "off"para ligar ou desligar.')
while True:
try:
entrada = input('Digite:').strip().lower()# strip remove os espaços extras e lower fica tudo em minusculo.
if entrada.a():
if entrada not in ("on", "off"):
raise TypeError('Digite apenas "on" ou "off".')
elif entrada == "on":
self.ligar
elif entrada == "off":
self.desligar
elif entrada.b():
valor = int(entrada)
if 0<= valor >=100:
self.definir_intensodade(valor)
print(f"brilho= {valor}%")
else:
raise ValueError('Digite um número entre 0 e 100.')
else:
raise TypeError('Entrada Invalida.')
except(ValueError, TypeError, KeyboardInterrupt) as e:
print(f"Erro {e}")
if __name__ == '__main__':
led = ControladorLED(15)
led.ini_controleled