Bouton en INPUT_PULLUP et Servo moteur (merci d'avance)

Bonjour,
Je souhaiterais que lorsque j'appuie sur mon bouton-poussoir (bp) ma carte arduino fasse passer un servomoteur d'un angle de 0° à un angle de 179°. Or, lorsque j'appuie sur mon bp rien ne se passe.
Merci d'avance pour votre réponse.

PS: voici mon code

#include <Servo.h>
Servo myservo;
long premillis = 0;
int etatbp;
int bp = 2 ;

void setup() {
  // put your setup code here, to run once:
  myservo.attach(8);
  myservo.write(0);
  pinMode(bp, INPUT_PULLUP);

}

void loop() {
  // put your main code here, to run repeatedly:

  int etatbp = digitalRead(bp);

  if (etatbp == HIGH) {
    myservo.write(179);
    delay(10000);
    myservo.write(0);
    delay(1000);
    premillis = millis();
  }
}

:warning: La rédaction de votre message ne répond pas aux critères attendus. Il n'aura sans doute pas de réponse tant que vous n'aurez pas pris en compte et mis en application les recommandations listées dans "Les bonnes pratiques du Forum Francophone”

Merci de me le signaler. C'est la première fois que je demande de l'aide sur ce forum. J'ai essayé de corriger ma rédaction selon "Les bonnes pratiques du Forum Francophone” est ce que cela répond aux critères attendus ou y a-t-il encore des choses à corriger ? Merci d'avance pour votre réponse.

Oui c'est bien. Merci d'avoir rajouté les balises de code. une description du câblage du bouton serait aussi utile (comme il est déclaré en INPUT_PULLUP je suppose que c'est pin 2 --- bouton --- GND ? avez vous bien pris des pins opposées en diagonale sur le bouton pour être sûr de ne pas avoir 2 fois la même pin (ou testé) ?)

L'appui sur le bouton en INPUT_PULLUP donne LOW sinon.. vous testez HIGH

sinon pour simplifier votre gestion des boutons, éventuellement utilisez la librairie de @bricoleau ou alors la librairie OneButton de Matthias Hertel.

Voici mon câblage. Je n'ai pas pris des pins opposés en diagonale sur le bouton (Est ce obligatoire, car cela risque d'être assez compliqué à changer. Je vais essayer la librairie de @bricoleau et la librairie OneButton. Encore merci pour votre aide.

Pour le câblage normalement c'est bon pour les pattes "proches" (sur la même face du boîtier) sont connectées entre elles mais il faut connecter à GND, pas à 3.3V
➜ PIN 2 --- bouton --- GND

pour tester, chargez ce code et ouvrez la console série à 115200 bauds et regardez ce qui s'affiche quand vous jouez avec le bouton

const byte pinBp = 2 ;

void setup() {
  Serial.begin(115200);
  pinMode(pinBp, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(pinBp) == LOW) {
    Serial.println("bouton appuyé");
  } else {
    Serial.println("bouton relâché");
  }
  delay(200);
}

Merci infiniment pour votre aide grâce au code que vous m'avez envoyé et à vos conseils, j'ai pu corriger mon programme et mon système marche parfaitement merci beaucoup.

super. bonne continuation

Corrigé une malencontreuse fôte de frappe dans le titre...

Titre modifié pour que les réponses soient exploitables par le moteur de recherche.

Voir les règles du forum francophone.

je l'ai un peu modifié encore car le soucis de fond c'était le poule-heupe

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.