oui tu peux brancher 2 servo sur n'importe quel gpio ,
essai en remplacant :
par :
Code: Select all
def MotorSpeed( arg1, arg2 ): # arg1 is Motor number , arg2 is Speed percent
Speed = Percent_Duty_Cycle_Mini + arg2 * Percent_Duty_Cycle_Mini / 100
print "Motor %d at %d % (%f % of Duty Cycle , %f ms)" % (arg1, arg2 , Speed , Speed * 1/Frequency/100)
if arg1 == 1:
Motor1.ChangeDutyCycle(Speed)
if arg1 == 2:
Motor2.ChangeDutyCycle(Speed)
if arg1 == 3:
Motor3.ChangeDutyCycle(Speed)
if arg1 == 4:
Motor4.ChangeDutyCycle(Speed)
return;
MotorSpeed( 1 , 0) # Motor 1 at 0% of Speed
sleep(1)
MotorSpeed( 1 , 25) # Motor 1 at 25% of Speed
sleep(1)
MotorSpeed( 1 , 50) # Motor 1 at 50% of Speed
sleep(1)
MotorSpeed( 1 , 75) # Motor 1 at 75% of Speed
sleep(1)
MotorSpeed( 1 , 100) # Motor 1 at 100% of Speed
4 est de toute facon trop petit pour Motor1.ChangeDutyCycle(4) , le minimum (pour avoir le servo a fond a gauche) est 5 (ce qui donne un signal de 1ms) , le maxi est 10 (a fond a droite) ce qui donne un signal de 2ms , au milieu 7.5 (pour un signal de 1.5ms) et etc , la fonction MotorSpeed calculera ca pour toi , si ca bouge toujours pas et que l'alim du servo est branchée sur le RPI c'est que le RPI fourni pas assez de courant