Compter les pressions sur un bouton
Fait partie de la section Entrées du Journey Arduino de Coddy. Leçon 5 sur 22.
Le front montant de la leçon précédente peut déclencher tout ce qui doit se produire une fois par pression. Ici, il ajoute un au compteur, avec ++ de Compter vers le haut :
int presses = 0;
void loop() {
int reading = digitalRead(2);
if (reading == LOW && lastReading == HIGH) {
presses++;
Serial.println(presses);
}
lastReading = reading;
}presses se trouve au-dessus de setup(), comme lastReading, afin de conserver sa valeur entre les exécutions de loop().
L’affichage se trouve dans le if, donc un nombre apparaît uniquement lorsque le compteur change : 1, 2, 3. À l’extérieur du if, le même compteur serait affiché des milliers de fois par seconde.
Défi
FacileLe bouton est sur la broche 2 (INPUT_PULLUP). Compte ses pressions :
- conserve le compte dans
presses, déclaré au-dessus desetup() - quand le bouton est enfoncé, ajoute un et affiche le compte
Clique sur Run, appuie sur le bouton quelques fois et observe le moniteur série, puis clique sur Check.
Essayez vous-même
const int buttonPin = 2;
int lastReading = HIGH;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int reading = digitalRead(buttonPin);
// quand le bouton est enfoncé, comptabilise l’appui et affiche le nombre d’appuis
lastReading = reading;
}
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
1Boutons
Afficher l’état d’un boutonRésistance de pull-downLe pull-up interneBasculer à chaque pressionCompter les pressions sur un boutonAnti-rebond d’un boutonDeux boutons en même tempsEntraînez-vous par vous-même : Playground Arduino