INPUT versus INPUT_PULLUP
Entenda por que um pino flutuante engana e como os pull-ups corrigem isso.
INPUT versus INPUT_PULLUP é uma aula grátis de Arduino & IoT Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Arduino & IoT Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Arduino & IoT Academy inclui 4 aulas no total.
Os pinos também podem escutar
Até agora, seus pinos enviavam sinais. Agora você fará um pino escutar, para que sua placa possa detectar um botão e reagir a ele.
Configure um pino como INPUT
Para ler um botão, primeiro informe a um pino que ele deve receber um sinal. Você faz isso definindo o modo como INPUT dentro de setup().
void setup() {
pinMode(2, INPUT);
}Um pino flutuante engana
Um pino INPUT sem nada que o mantenha em uma tensão definida é chamado de flutuante. Ele capta ruídos externos e alterna sozinho entre HIGH e LOW.
Por que o estado flutuante é um problema
Um pino flutuante fornece leituras aleatórias e falsas do botão. Seu código pensa que o botão foi pressionado quando ninguém o tocou. ⚡
Resistores de polarização resolvem o problema
Um resistor de polarização conecta suavemente o pino a uma tensão conhecida. Assim, ele mantém uma leitura padrão estável até que o botão a altere.
Pull-up ou pull-down
Um pull-up mantém o pino em HIGH por padrão; um pull-down mantém o pino em LOW. O Arduino já possui pull-ups práticos integrados ao chip.
Use INPUT_PULLUP
Dispense o resistor extra: defina o modo como INPUT_PULLUP, e a placa ativará automaticamente o pull-up interno para você.
void setup() {
pinMode(2, INPUT_PULLUP);
}A lógica se inverte
Com INPUT_PULLUP, o pino lê HIGH quando o botão está solto e LOW quando está pressionado. A lógica é invertida de propósito.
Conecte ao terra
Como o pull-up interno mantém o pino em HIGH, conecte o botão entre o pino e GND. Ao pressioná-lo, o pino é levado para LOW.
Menos fiação, menos erros
INPUT_PULLUP significa um resistor a menos na sua protoboard e nenhum pino flutuante. Para a maioria dos botões de iniciantes, é simplesmente a opção mais fácil.
Escolha o modo correto
Use o INPUT comum somente quando seu circuito já fornecer o próprio resistor de polarização. Caso contrário, INPUT_PULLUP mantém tudo seguro e simples.
Verificação rápida
Pense em como INPUT_PULLUP se comporta quando o botão está em repouso.
Recapitulação
Você aprendeu que um pino INPUT pode flutuar e enganar, e que INPUT_PULLUP resolve isso: HIGH quando solto e LOW quando pressionado. Em seguida, você realmente lerá esse valor. 👍
Aprenda C++ com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “INPUT versus INPUT_PULLUP” é grátis?
Sim — o texto completo de “INPUT versus INPUT_PULLUP” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Arduino & IoT Academy, atualize para CoddyKit PRO. O curso de Arduino & IoT Academy inclui 4 aulas no total.
O que vou aprender em “INPUT versus INPUT_PULLUP”?
Entenda por que um pino flutuante engana e como os pull-ups corrigem isso. Você pratica Arduino & IoT Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Arduino & IoT Academy?
Nenhuma experiência prévia é necessária. Arduino & IoT Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “INPUT versus INPUT_PULLUP”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Arduino & IoT Academy?
Sim. Cada aula de Arduino & IoT Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- INPUT versus INPUT_PULLUP
- Lendo o Estado de um Botão
- if/else: o LED Segue o Botão
- Conecte um Botão em uma Protoboard