from machine import Pin, PWM, ADC
from time import sleep
# Servo 360 conectado ao GP16
servo = PWM(Pin(16))
servo.freq(50)
# Botão conectado ao GP22
# Usando PULL_DOWN:
# solto = 0
# pressionado = 1
botao = Pin(22, Pin.IN, Pin.PULL_DOWN)
# LED conectado ao GP26
led = Pin(26, Pin.OUT)
# Potenciômetro conectado ao GP27
potenciometro = ADC(Pin(27))
# Estado inicial da esteira
esteira_ligada = False
while True:
# Verifica se o botão foi pressionado
if botao.value() == 1:
esteira_ligada = not esteira_ligada
if esteira_ligada:
led.on()
print("Esteira ligada")
else:
led.off()
servo.duty_ns(1500000)
print("Esteira desligada")
# Pausa para evitar múltiplas leituras no mesmo clique
sleep(0.3)
# Se a esteira estiver ligada, o potenciômetro controla o servo
if esteira_ligada:
valor_potenciometro = potenciometro.read_u16()
print("Valor do potenciômetro:", valor_potenciometro)
if valor_potenciometro < 28000:
servo.duty_ns(1300000)
print("Esteira girando para trás")
elif valor_potenciometro <= 37000:
servo.duty_ns(1500000)
print("Esteira parada")
else:
servo.duty_ns(1700000)
print("Esteira girando para frente")
sleep(0.1)