Contar pressionamentos do botão
Parte da seção Entradas do Journey de Arduino da Coddy. Lição 5 de 22.
A borda da lição anterior pode acionar qualquer coisa que deva acontecer uma vez por pressionamento. Aqui, ela adiciona um ao contador, com ++ de Contagem crescente:
int presses = 0;
void loop() {
int reading = digitalRead(2);
if (reading == LOW && lastReading == HIGH) {
presses++;
Serial.println(presses);
}
lastReading = reading;
}presses fica acima de setup(), assim como lastReading, então mantém seu valor entre as execuções de loop().
A impressão fica dentro do if, então um número aparece somente quando a contagem muda: 1, 2, 3. Fora do if, a mesma contagem seria impressa milhares de vezes por segundo.
Desafio
FácilO botão está no pino 2 (INPUT_PULLUP). Conte os pressionamentos:
- mantenha a contagem em
presses, declarado acima desetup() - quando o botão for pressionado, some um e imprima a contagem
Clique em Run, pressione o botão algumas vezes e observe o monitor Serial; em seguida, clique em Check.
Experimente você mesmo
const int buttonPin = 2;
int lastReading = HIGH;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int reading = digitalRead(buttonPin);
// quando o botão for pressionado, conte o acionamento e imprima a contagem
lastReading = reading;
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Entradas
1Botões
Exibir o estado de um botãoResistor pull-downPull-up internoAlternar a cada pressionamentoContar pressionamentos do botãoEliminar o bouncing de um botãoDois botões ao mesmo tempoPratique por conta própria: Playground de Arduino