Raccordement : utiliser un câble connecteur Grove <-->  connecteur servomoteur et une alimentation externe  

Pour piloter un servomoteur entre 0 et 200°, il faut générer une impulsion comprise entre 0.2 et 2.16 ms avec une période de 20ms.

  • pour 1 ms le rapport cyclique est de 0.2 / 20 = 0.01 (1%) soit write.analog( )  0.01 x 1023 = 10
  • pour 2.16 ms le rapport cyclique est de 2.16 / 20 = 0.108 (10.8%) soit write.analog( )  0.108 x 1023 = 110


Micro:bit

Programme permettant de piloter un servomoteur à partir d'un potentiomètre


from microbit import *

pin1.set_analog_period(20)


def servo(angle):

    rapport_cyclique = ((110-10)/180) * angle + 10  # calcul du rpport cyclique entre 0 et 1023

    pin1.write_analog(rapport_cyclique)             # écriture du rapport cyclique sur la broche P1


while True:

    pot = pin0.read_analog()                   

    angle = pot /1023 * 180 

    print ('angle = ',angle , 'deg')

    servo(angle)                                    # appel de la fonction angle

    sleep(500)


































Créé avec HelpNDoc Personal Edition: Environnement de création d'aide complet