#DYLAN LEVIT TRINIDAD RASGADO
from machine import Pin, ADC, PWM
from time import sleep
# Configuración del potenciómetro y el servo
pot = ADC(Pin(26)) # Potenciómetro conectado al pin 26 (A0)
servo_pin = PWM(Pin(15)) # Servo conectado al pin 15
servo_pin.freq(50) # Frecuencia del servo en 50 Hz
def map_value(value, in_min, in_max, out_min, out_max):
# Mapea el valor del potenciómetro al rango de ángulos del servo
return int((value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
while True:
# Leer el valor del potenciómetro (0 a 65535 en la Raspberry Pi Pico)
pot_value = pot.read_u16()
# Mapeo para convertir el valor a un rango de 0 a 180 grados
angle = map_value(pot_value, 0, 65535, 0, 180)
# Convertir el ángulo a un valor de ancho de pulso adecuado
# Aquí 0° = 500000 ns y 180° = 2500000 ns
duty_ns = int(500000 + (angle * (2500000 - 500000) / 180))
servo_pin.duty_ns(duty_ns)
# Imprimir para depuración
print(f"Potenciómetro: {pot_value}, Ángulo: {angle}, Ancho de pulso (ns): {duty_ns}")
sleep(0.1)