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 praLOW. - 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.