from machine import Pin, PWM
from time import sleep

# Configuración de los servos
servo_pulgar = PWM(Pin(15))
servo_indice = PWM(Pin(16))
servo_medio = PWM(Pin(17))
servo_anular_meñique = PWM(Pin(18))

# Configuración de la frecuencia para los servos
for servo in [servo_pulgar, servo_indice, servo_medio, servo_anular_meñique]:
    servo.freq(50)

# Función para mover un servo a un ángulo específico
def mover_servo(servo, angulo):
    duty = int((angulo / 180) * 102 + 25)
    servo.duty(duty)

# Movimientos definidos
def sujecion():
    mover_servo(servo_pulgar, 90)
    mover_servo(servo_indice, 45)
    mover_servo(servo_medio, 45)
    mover_servo(servo_anular_meñique, 45)
    sleep(1)

def esferico():
    mover_servo(servo_pulgar, 60)
    mover_servo(servo_indice, 60)
    mover_servo(servo_medio, 60)
    mover_servo(servo_anular_meñique, 60)
    sleep(1)

def cilindrico():
    mover_servo(servo_pulgar, 70)
    mover_servo(servo_indice, 50)
    mover_servo(servo_medio, 50)
    mover_servo(servo_anular_meñique, 50)
    sleep(1)

def gancho():
    mover_servo(servo_pulgar, 0)
    mover_servo(servo_indice, 0)
    mover_servo(servo_medio, 0)
    mover_servo(servo_anular_meñique, 0)
    sleep(1)

def punta():
    mover_servo(servo_pulgar, 90)
    mover_servo(servo_indice, 90)
    mover_servo(servo_medio, 0)
    mover_servo(servo_anular_meñique, 0)
    sleep(1)

def palmar():
    mover_servo(servo_pulgar, 0)
    mover_servo(servo_indice, 0)
    mover_servo(servo_medio, 0)
    mover_servo(servo_anular_meñique, 0)
    sleep(1)

# Configuración de botones
boton_sujecion = Pin(10, Pin.IN, Pin.PULL_DOWN)
boton_esferico = Pin(11, Pin.IN, Pin.PULL_DOWN)
boton_cilindrico = Pin(12, Pin.IN, Pin.PULL_DOWN)
boton_gancho = Pin(13, Pin.IN, Pin.PULL_DOWN)
boton_punta = Pin(14, Pin.IN, Pin.PULL_DOWN)
boton_palmar = Pin(15, Pin.IN, Pin.PULL_DOWN)

# Función para verificar los botones y ejecutar el movimiento correspondiente
def verificar_botones():
    if boton_sujecion.value():
        sujecion()
    elif boton_esferico.value():
        esferico()
    elif boton_cilindrico.value():
        cilindrico()
    elif boton_gancho.value():
        gancho()
    elif boton_punta.value():
        punta()
    elif boton_palmar.value():
        palmar()

# Bucle principal
while True:
    verificar_botones()
    sleep(0.1)
$abcdeabcde151015202530354045505560fghijfghij
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT