from machine import Pin, PWM, ADC
import utime
# Configuração do potenciômetro e do servo motor
potenciometro_pin = 26 # Pino do potenciômetro (GP26)
servo_motor_pin = 17 # Pino do servo motor (GP17)
# Configuração do PWM
canal_pwm = PWM(Pin(servo_motor_pin))
canal_pwm.freq(50) # Frequência típica para servo motores é 50Hz
while True:
# Leitura do valor do potenciômetro
valor_potenciometro = ADC(Pin(potenciometro_pin)).read_u16()
# Mapeia o valor do potenciômetro (0-65535) para o intervalo de rotação do servo motor (0-180 graus)
angulo_servo = int((valor_potenciometro / 65535) * 180)
# Converte o ângulo para a largura do pulso em microssegundos (ajuste conforme necessário)
largura_pulso_us = 500 + (angulo_servo * 2000 // 180)
# Define a largura do pulso do PWM com base no ângulo calculado
canal_pwm.duty_ns(largura_pulso_us * 1000)
# Aguarda um curto período para evitar leituras rápidas do potenciômetro
utime.sleep_ms(20)