#Practica con interrupcion que al momento de de precionar el boton, el servo ya no manda señal hasta ser nuevamente activado. (finciona como un interruptor on/off)
from machine import Pin, PWM, ADC
pwm = PWM(Pin(23), freq=50)
adc = ADC(Pin(32))
push = Pin(14,Pin.IN, Pin.PULL_UP)
def interrupcion (x):
global direccion
direccion = not direccion
servo = 25
direccion = 1
adc.width (ADC.WIDTH_9BIT)
adc.atten (ADC.ATTN_11DB)
push.irq(trigger=Pin.IRQ_FALLING,handler=interrupcion)
while(1):
if direccion:
v = adc.read()
# Mapear el ADC (0–511) a servo (25–125)
movimiento = int((v * 100) / 511) + 25
# Limitar valores del servo
if movimiento < 25:
movimiento = 25
if movimiento > 125:
movimiento = 125
pwm.duty(movimiento)