Menu
CoddyTech

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.

challenge icon

Desafio

Fácil

O botão está no pino 2 (INPUT_PULLUP). Conte os pressionamentos:

  • mantenha a contagem em presses, declarado acima de setup()
  • 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;
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Arduino