from machine import Pin, PWM
import time
pwm0 = PWM(Pin(14), duty_ns=200000) # create PWM object from a pin
pwm0.freq(50) # get current frequency
while True:
for i in range(500,2500,10):
#pwm0.duty(i) # get current duty cycle, range 0-1023 (default 512, 50%)
pwm0.duty_ns(i*1000) # set pulse width in nanoseconds from 0 to 1_000_000_000/freq, (now 25%)
time.sleep_ms(100)
for j in range(2500, 500, -10):
print(j)
#pwm0.duty(j) # get current duty cycle, range 0-1023 (default 512, 50%)
pwm0.duty_ns(j*1000) # set pulse width in nanoseconds from 0 to 1_000_000_000/freq, (now 25%)
time.sleep_ms(100)
'''
pwm0 = PWM(Pin(14), duty=0) # create PWM object from a pin
pwm0.freq(50) # get current frequency
def angle_servo(angle):
maximum=128
minimum=26 #CONVERSION A BITS DEL PUNTO MINIMO Y MAXIMO
dutyC=int(minimum+(angle/180)*(maximum-minimum))
pwm0.duty(dutyC)
while True:
angle_servo(0)
time.sleep(1)
angle_servo(20)
time.sleep(1)
angle_servo(90)
time.sleep(1)
angle_servo(120)
time.sleep(1)
angle_servo(176)
time.sleep(1)
'''
##http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf