# .';:cc;. # .,',;lol::c. # ;';lddddlclo # lcloxxoddodxdool:,. # cxdddxdodxdkOkkkkkkkd:. # .ldxkkOOOOkkOO000Okkxkkkkx:. # .lddxkkOkOOO0OOO0000Okxxxxkkkk: # 'ooddkkkxxkO0000KK00Okxdoodxkkkko # .ooodxkkxxxOO000kkkO0KOxolooxkkxxkl # lolodxkkxxkOx,. .lkdolodkkxxxO. # doloodxkkkOk .... .,cxO; # ddoodddxkkkk: ,oxxxkOdc'..o' # :kdddxxxxd, ,lolccldxxxkkOOOkkkko, # lOkxkkk; :xkkkkkkkkOOO000OOkkOOk. # ;00Ok' 'O000OO0000000000OOOO0Od. # .l0l.;OOO000000OOOOOO000000x, # .'OKKKK00000000000000kc. # .:ox0KKKKKKK0kdc,. # ... # # Author: peppe8o # Blog: https://peppe8o.com # Date: Jun 3st, 2021 # Version: 1.0 from machine import Pin, PWM from time import sleep servoPin = PWM(Pin(16)) servoPin.freq(50) def servo(degrees): # limit degrees beteen 0 and 180 if degrees > 180: degrees=180 if degrees < 0: degrees=0 # set max and min duty maxDuty=9000 minDuty=1000 # new duty is between min and max duty in proportion to its value newDuty=minDuty+(maxDuty-minDuty)*(degrees/180) # servo PWM value is set servoPin.duty_u16(int(newDuty)) while True: # start increasing loop for degree in range(0,180,1): servo(degree) sleep(0.001) print("increasing -- "+str(degree)) # start decreasing loop for degree in range(180, 0, -1): servo(degree) sleep(0.001) print("decreasing -- "+str(degree))