Deux boutons en même temps
Fait partie de la section Entrées du Journey Arduino de Coddy. Leçon 7 sur 22.
Chaque bouton a sa propre broche et son propre digitalRead(). La carte les lit l’un après l’autre, mais si rapidement que, pour toi, c’est au même moment.
Les machines industrielles ont souvent deux boutons éloignés l’un de l’autre et ne fonctionnent que lorsque les deux sont maintenus enfoncés. Les deux mains sont sur les boutons, donc aucune ne peut se trouver près de la lame. Cette règle s’écrit &&, comme dans Combiner des conditions :
bool left = digitalRead(2) == LOW;
bool right = digitalRead(3) == LOW;
if (left && right) {
// les deux boutons sont maintenus enfoncés
}Les deux broches ont besoin de INPUT_PULLUP. Si tu en oublies une, cette broche flotte et, ici, est lue comme LOW, comme si son bouton était toujours enfoncé.
Défi
FacileLes boutons sont branchés aux broches 2 et 3, toutes deux reliées à GND, et la LED est branchée à la broche 13. Allume la LED uniquement lorsque les deux boutons sont maintenus enfoncés :
- définis les broches 2 et 3 sur
INPUT_PULLUP - lis chaque bouton dans un
bool - allume la LED lorsque les deux boutons sont enfoncés, sinon éteins-la
Appuie sur Run, maintiens un bouton enfoncé, puis les deux, puis appuie sur Check.
Essayez vous-même
const int leftPin = 2;
const int rightPin = 3;
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
// configure les broches des deux boutons en INPUT_PULLUP
}
void loop() {
// lis l’état des deux boutons et n’allume la LED que lorsque les deux sont maintenus enfoncés
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Entrées
Entraînez-vous par vous-même : Playground Arduino