Le code reste relativement simple si vous avez compris les deux articles précédents.
Le plus important reste ces lignes :
// Si Appuie BP1 if (b1 == LOW) { monServomoteur.write(position); position = position + 1; if (position > 180) { position = 180; } delay(10); }
Condition - position
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 :
position = position + 5;
Code :
/* Inclut la librairie Servo pour manipuler le servomoteur */ #include <Servo.h>
int bp1 = 2; int bp2 = 3;
int position = 0;
/* Créer un objet Servo pour contrôler le servomoteur */ Servo monServomoteur;
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?
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
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
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 ?
Ce site Web utilise des cookies pour améliorer votre expérience. Nous supposerons que vous êtes d'accord avec cela, mais vous pouvez vous désinscrire si vous le souhaitez. Cookie settingsACCEPT
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
8 comments