bonjour je reviens avec mon projet qui a avancé. Mais je rencontre un problème avec le code qui gère le servau de passages de vitesse, ça position de base est 90° lorsque j’appui sur un bouton le servo vas a un opposé (0°) sur mon deuxième bouton le servo ce dirige bien jusqu’à l’autre opposé (180°) mais je souhaiterai que lorsqu’aucun des boutons n’est actionné le servo ce repositionne a ça position de base 90°.
Mais je n’arrive pas a trouvé quelle ligne de code et ou faut il l’ajouter pour que cela soit réalisable.
je vous join ci dessous mon code qui regroupe l’accélérateur et le passage des vitesses
par avance un grand merci a vous
// servo passage vitesse
include <Servo.h>
Servo passageVitesse; // servo pour le passage vitesse
int pinAr = 4; // reliée au bouton poussoir marche Arrière
int pinAv = 3 ; // reliée au bouton poussoir marche Avant
int pmin = 0; // position mini
int pmax = 180 ; // position maxi
int pact= 90 ; // position base
int appui= 0; // quand un bouton poussoir est appuye il est dans l’état bas 0v
// fil bleu pin 3 av sens horaire
// fil jaune pin 4 ar sens anti horaire
void tourne_plus ()
{
if ( pact < pmax) {
pact = pact + 1;
passageVitesse.write(pact);
}
}
void tourne_moins ()
{
if ( pact > pmin) {
pact = pact - 1;
passageVitesse.write(pact);
}
}
// servo accélérateur
Servo servo; // on crée l’objet Servo
int pinServo=8; // pin de commande du servo
int pinPotar=A0; // pin lié de lecture du potenitomètre
void setup() // executée une seule fois
// servo passage vitesse
{
{
passageVitesse.attach(9); // pin 9 servo passage vitesse
pinMode(pinAr, INPUT_PULLUP); // Pin en mode entrée
pinMode(pinAv, INPUT_PULLUP); // Pin en mode entrée
}
//servo accelerateur
{
servo.attach(pinServo); // on relie l’objet servo au pin de commande
}
}
void loop() // executée en boucle
// servo passage vitesse
{
{
if (digitalRead(pinAr) == appui) { // appui sur le bouton poussoir
tourne_moins();
}
if (digitalRead(pinAv) == appui) { // appui sur le bouton poussoir
tourne_plus();
}
}
// servo accelerateur
{
int valeurPotar=analogRead(pinPotar); // lecture de la valeur du potentiomètre
int angle=map(valeurPotar,0,1023,0,180); // tranformation en angle
servo.write(angle); //mise en position du servo
}
}