Menu
CoddyTech

Lendo um botão

Parte da seção Primeiros circuitos do Journey de Arduino da Coddy. Lição 22 de 22.

Um pino também pode ser uma entrada: a placa lê se ele está em HIGH ou LOW.

Este botão conecta o pino 2 ao terra (0 volts) enquanto você o mantém pressionado. Quando está solto, o pino não fica conectado a nada e leria valores aleatórios. INPUT_PULLUP ativa um resistor pull-up dentro da placa, que mantém o pino em HIGH até que o botão o leve a LOW:

pinMode(2, INPUT_PULLUP);

digitalRead(2) retorna o nível do pino. Com um pull-up, um botão pressionado lê LOW:

if (digitalRead(2) == LOW) {
  // o botão está pressionado
}

O restante você já conhece: if e else para escolher, digitalWrite() para o LED, Serial.println() para informar.

challenge icon

Desafio

Fácil

O botão está no pino 2 e o LED no pino 13. Faça o LED acender enquanto o botão estiver pressionado:

  • configure o pino 2 como INPUT_PULLUP
  • quando digitalRead(buttonPin) for LOW, acenda o LED, imprima Pressed e aguarde 200 ms (para que o monitor não fique inundado)
  • caso contrário, apague o LED

Pressione Run, mantenha pressionado o botão verde na placa e, em seguida, Check.

Experimente você mesmo

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {

}
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 Primeiros circuitos

Pratique por conta própria: Playground de Arduino