Utilisation de 2 bouton

Bonjour,
je n'arrive pas à faire tourner mon code. j'utilise une mega2560 et un shield adafruit.
mon but est de piloter par 2 boutons le réglage d'un zoom sur appareil photo à distance.
un bouton pour zoomer+ et un pour zoomer-.

voici mon programme actuel.
et merci de votre aide.

#include <Button.h>
#include <AFMotor.h>

AF_Stepper motor(200, 2); //Tandon KP4M2-203

Button zommAV = Button(14,PULLUP); //Bouton zoom+
Button zoomAR- = Button(15,PULLUP); //bouton zoom-

int speed = 0;

void setup(){
Serial.begin(9600); // set up Serial library at 9600 bps
motor.setSpeed(10); // 10 rpm
}

void loop(){
if (zoomAV.uniquePress()){
speed = 10;
motor.setSpeed(10)
}
motor.step(1, FORWARD, SINGLE);
Serial.print(speed);
Serial.println("");
release()
}
if (zoomAR.uniquePress()){
speed = 10;
motor.setSpeed(10)
}
motor.step(1, BACKWARD, SINGLE);
Serial.print(speed);
Serial.println("");
release()
}
}

Bonjour,

  1. mettre le code en balise code (#)
Button zoomAR- = Button(15,PULLUP); // En langage C/C++ les noms de variables ne peuvent contenir que des lettres, chiffres et _
// Enlève ce - et ça devrait marcher beaucoup mieux !

j'ai corrigé mais toujours problème.
maintenant message "PULLUP' was not declared in this scope

Tu crée un objet Button zommAV mais tu appelles zoomAV dans ton code.

Faute de frappe ?

oui faute de frappe. mais le problème est toujours là avec PULLUP

Essaye de changer PULLUP en BUTTON_PULLUP.

Button zoomAV = Button(14,PULLUP); //Bouton zoom+
Button zoomAR = Button(15,PULLUP); //bouton zoom-

Je viens de regarder la donc de la lib, ils ne sont pas très précis sur la méthode constructeur mais essai ça :

Button zoomAV(14); //Bouton zoom+
zoomAV.pullup(); //très bizarre de ne pas avoir mis le Up avec maj mais c'est la doc
Button zoomAR(15); //bouton zoom-
zoomAR.pullup();

Possible/Probable que ça ne marche pas, dans ce cas là, essai d'ajouter PULLDOWN au constructeur des Button, on ne sait jamais si l'un marchait et que l'autre non