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












