Nous allons voir ici comment piloter un servomoteur à l’aide de deux boutons.
Le code reste relativement simple si vous avez compris les deux articles précédents.
Le plus important reste ces lignes :
Si vous appuyez sur un bouton poussoir, la position en degré sera incrémenté de 1. Mais il faut se rappeler que le servomoteur possède une plage de rotation de 0 à 180°. Donc lorsque la valeur incrémentée est supérieure à 180, nous définissons que cette valeur vaut 180…
Il est possible de modifier l’incrémentation et la décrémentation de la valeur position. Vous pouvez par exemple augmenter la position de chaque tour de boucle à 5 :
Code :
bonsoir excellent tuto j’ ai pris exemple sur votre projet pour un de mes projet personnel mais je bloque sur un passe peut être que vous pourriez m’aider je cherche a faire la même chose que vous mais avec un seul bouton poussoir or je n’arrive pas a faire la commande surtout que je souhaiterai declancher 2 servo en même temps et un autre après un fois que les 2 premier sont arrive a leur angle et inversement un fois que l’on r appuis sur le bouton les 3° servo revient a 0 puis les servo 2 et 1 reviennent a 0. pourriez vous me donner un petit coup de pouce pour mon programme?
Avez-vous déjà un début de code ?
Si oui, je peux tester en ligne et vous proposer un programme sur un simulateur en ligne.
bonjour! quand j’appuie sur le bouton poussoir et que j’attends, le servomoteur revient à sa position initiale… pourtant j’ai fais un copier/coller de votre code je ne comprend pas… merci pour votre réponse!
Bonsoir, Merci de votre montage partagé. j’ai relié 2 fils boutons poussoir et (-) du moteur, le fils rouge du moteur sur 5V et les fils bouton sur d2 et D3. quand j’appui sur un bouton ou l’autre il ne se passe rien. J’ai du 5v entre d5 et 5V. est ce normal? J’ ai copié collé le programme et compilé et téléversé normalement. Merci de votre aide. D’autre part je voudrai la même chose mais avec un servo moteur 8.4 V, comment je fais pour lui fornir un alim externe?
Merci de votre aide
Utilisez un driver intermédiaire, genre ULN2003 … il permet jusqu’a 30V !!
Je tenais à vous remercier pour votre code. Celui ci m’a servi de base pour un projet devant tourner sur un ATtiny85. Pour ce faire une autre bibliothèque était nécessaire (SoftRcPulseOut.h) mais le principe est le même.
A noter que pour une meilleure précision et une vitesse de rotation plus faible, je n’ai pas choisi des valeurs d’angle mais des impulsions en microsecondes ,ce que permet également la bibliothèque Servo.h.
Bonne continuation
Bonjour
Je souhaite faire bouger deux servo avec le même BP. Mais chaque servo est déclaré sur une PIN (D5) et (D6). Mais en ayant chacun des paramètres de rotation pesonnalisé, les deux servos suivent les positions limité déclaré dans le premier….
Une idée pour que le SERVO 1 aille de 55 à 120, et le SERVO 2 aille de 70 à 140 ?
Merci !
Lorsque j’appuie sur le bouton, que doivent-faire les servomoteurs ? Une rotation et revenir au point d’origine ? Une rotation d’1 degré ?