Piloter servo avec bouton poussoir?

Bonjour,

J’ai pour projet d’adapter un petit servo sur une liseuse afin de tourner les pages car l’emplacement des boutons natifs ne me convient pas.

Le but est donc de demander à un servo de faire un bref déplacement (environ 15°, pour appuyer sur “page suivante”) puis de revenir à son point origine, sur une impulsion du bouton poussoir. Et ainsi de suite, sans temporisation.

J’ai regardé, étudié les tutos sur les boutons poussoirs, sur les servomoteurs, je vois comment tout ça fonctionne séparément, mais je suis incapable de lier les deux (à savoir commander le servo avec le bouton poussoir) au niveau du code.

Est-ce que quelqu’un pourrait m’aider?

Merci d’avance :slight_smile:

Voici le code ou je bute en ce moment:

#include <Servo.h>



int pinServo=8; 
Servo bookeenServo; 
int pinBouton=2;
boolean etatBouton=digitalRead(pinBouton);


void setup() 
{  pinMode(pinBouton,INPUT_PULLUP);
  bookeenServo.attach(pinServo); 

 
 
bookeenServo.write(0); 
  delay(1000); 
  
}




void loop()  {
  if (etatBouton = 1)
  
  {bookeenServo.write(20); 
  delay(500); 
  }
  
 else if (etatBouton = 0)
  {bookeenServo.write(0);
  }

Il faut simplement lire l'état du bouton dans la loop(), c'est à dire rafraîchir la variable etatBouton.
Pour l'instant tu lis l'état du bouton seulement au démarrage.
Déplace cette ligne en début de loop() :

boolean etatBouton=digitalRead(pinBouton);

Il manque une accolade en fin de loop()

:slight_smile: merci.

Mais ça ne fonctionne pas. Le BP est inactif.

Le servo a un sursaut si je débranche/rebranche le +5v ou la masse.
Je l'ai testé par ailleurs, il fonctionne bien, idem pour BP.

Je tourne en rond avec ces quelques lignes depuis je ne sais combien de temps, et rien à faire :frowning:

Bonjour,

if (etatBouton = 1)c'est une affectation

le test c'est ça

 if (etatBouton == 1)

Même chose pour etatBouton=0

Remarque: un booleen c'est true ou false alors il vaut mieux utiliser

  if (etatBouton == true)

ou plus simplement

  if (etatBouton)

Génial! Merci beaucoup :smiley: