Bon je pose ce que j'ai réussi à faire, mais effectivement j'ai fais une boulette quelque part, car si je change la durée en seconde ben ça ne correpond pas.
PS : va falloir que je regarde ça de nouveau, sur le t=int(time.time etc etc ) car ça me donne une erreur.
je fais une pause et je me remet dessus
from Adafruit_PWM_Servo_Driver import PWM import time pwm = PWM(0x40, debug = False) pwm.setPWMFreq(50) servomin = 150 servomax = 510 anglemin = 0 anglemaxi = 180 accel = 0.5 decel = 0 vitesse = 0 vitessemin = 0 vitessemax = 100 degres = 0 def fdegres (): result = int((degres - anglemin) * (servomax - servomin) / (anglemaxi - anglemin) + servomin) return result #t = int(time.time() * 1000) t = time.time() tsmin = 0 tsmax = 1 degmin = 0 degmax = 100 degres = 0 delai = 0 def fmap(): result = int((delai - tsmin) * (degmax - degmin) / (tsmax - tsmin) + degmin) #result = int((t - degmin) * (tsmax - tsmin) / (degmax - degmin) + tsmin) print (result) return result pwm.setPWM(0, 0, 150) time.sleep(1) while True : if delai < t: delai = time.time() - t pwm.setPWM(0, 0, fmap()) #vitesse += infovitesse #degres += infovitesse print ("Temps : ", t, "- Degres : ",fdegres(), "- vit foc : ",fmap(), "Delai : ",delai) time.sleep(0.01) elif delai == t: pwm.setPWM(0, 0, fdegres()) break
Merci