avez vous lu la doc du lien que vous donnez? Vos 2 questions y sont expliquées
(Sinon me questions: où est branché votre servo, comment est il alimenté ainsi que la carte, les GND sont ils joints, avez vous calibré le min et max et est-ce que 60 correspond vos besoins?)
Merci pour ta reponse. Oui j ai lu la doc,..., mais j ai pas tout compris.
J ai vu la partie sur la fréquence mais j ai pas compris quelle valeur je dois utiliser : between 40 and 1000.
Pour le 0, je comprend que c est le 'tick' mais je vois pas sont utilité, vu que j utilise map pour définir la plage de fonctionnement.
J ai calibré le servo, variable servoMin et servoMax.
Les connections sont bien comme dans la doc, la carte Adafruit alimenté par l Arduino et le servo par le "blue terminal", dans ce cas j ai pas les GND joints.
j ai pas compris quelle valeur je dois utiliser : between 40 and 1000.
ça règle la fréquence du PWM - combien de fois par seconde vous allez avoir un cycle.
setPWM(channel, on, off)
Description
This function sets the start (on) and end (off) of the high segment of the PWM pulse on a specific channel. You specify the 'tick' value between 0..4095 when the signal will turn on, and when it will turn of. Channel indicates which of the 16 PWM outputs should be updated with the new values.
si vous regardez la doc du fonctionnement du PWM traditionnel sur une broche de l'Arduino avec la fonction
vous voyez qu'il y a un signal répétitif à une certaine fréquence (tick d'horloge, le fameux cycle ci dessus entre 2 barres vertes) et que la partie HIGH du signal (pour le duty cycle) démarre au début 'instant 0' de tick de l'horloge (on passe de 0 à HIGH en étant aligné sur la barre verte) pour une certaine durée. la fonction analogWrite() ne fait varier que la durée du HIGH mais ne change pas le moment où le HIGH commence dans le cycle.
la fonction setPWM est un peu plus précise, elle permet non seulement de dire la durée du HIGH mais aussi à partir de quand vous voulez que ce HIGH commence dans le cycle. Le 0 que vous voyez au début vous ramène à ce que fait un analogWrite() donc.
Si la fréquence du PWM est trop rapide - on répète le duty cycle souvent - et si la partie HIGH est petite, comme passer de 0 à HIGH prend un peu de temps (ce n'est pas instantané de 0 à xV) le signal réel risque de ne plus être carré mais en triangle voire être coupé avant d'avoir atteint la tension de fonctionnement de votre moteur et donc ça impacte le fonctionnement du moteur (Sur un Arduino ça varie selon les pins, elles sont à environ 490Hz et 976Hz pour le PWM par défaut)
Donc faut voir en fonction des spec de vos moteurs. vous pouvez commencer plus haut que 60 - par exemple à 500
Les connections sont bien comme dans la doc, la carte Adafruit alimenté par l Arduino et le servo par le "blue terminal", dans ce cas j ai pas les GND joints.
c'est généralement marqué dans la spécification détaillée et le prix est aussi en conséquence.
Dans la grande majorité des cas on n'a pas besoin des 180° de débattement cependant, il suffit de bien positionner le bras sur le servo pour qu'à 170° par exemple il effectue l'action que vous voulez et en tenir compte dans votre code.