INPUT_PULLUP

INPUT_PULLUP

O INPUT_PULLUP é o melhor amigo de quem usa botões. Ele configura o pino como entrada e liga um resistor de pull-up que já vem dentro do microcontrolador — assim você não precisa soldar um resistor externo e nunca fica com o pino flutuando.

Sintaxe

pinMode(pino, INPUT_PULLUP);

Parâmetros

Nenhum próprio. É uma constante usada como argumento do pinMode().

Retorno

Não retorna nada — é uma constante de configuração.

Exemplo

void setup() {
  pinMode(2, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  if (digitalRead(2) == LOW) {
    Serial.println("Botao pressionado!");
  }
  delay(150);
}

Notas e cuidados

  • A lógica fica invertida: com o pull-up, o pino em repouso lê HIGH, e ao apertar o botão (ligado ao GND) ele vai pra LOW.
  • Ligue o botão entre o pino e o GND — nada de VCC. O pull-up interno já cuida de manter o nível alto.
  • No Uno o pull-up interno é de mais ou menos 20–50 kΩ. O ESP32 também tem INPUT_PULLUP, mas alguns pinos (como o GPIO34–39) só são entrada e não possuem pull-up interno.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker