Por que usar resistores com botões de pressão e interruptores no Arduino
Este tutorial explica por que usar um resistor com botões de pressão e interruptores conectados a um Arduino é crucial para um funcionamento confiável. Compreender esse conceito é fundamental para qualquer projeto com Arduino que envolva entrada do usuário. Esse conhecimento evita comportamentos inesperados e garante que seus projetos funcionem corretamente. Aqui estão algumas ideias de projetos em que esse conhecimento é essencial:
- Interruptor simples liga/desliga para um LED
- Controlador de jogo interativo
- Controle remoto para eletrodomésticos
- Sistema de segurança com ativação por botão
Vamos explorar as razões por trás do uso de resistores nesses circuitos.

Hardware/Componentes
Os componentes principais necessários para este projeto são mínimos: uma placa Arduino, um botão de pressão e um resistor (maior que 300 ohms). O valor do resistor não é crítico; valores como 1kΩ, 10kΩ ou mesmo 100kΩ geralmente funcionarão bem (no vídeo em 00:41).
Guia de fiação
Existem duas configurações principais de fiação (no vídeo em 00:30):
- Configuração 1:Conecte o botão pulsador entre o pino do Arduino e +5V. O outro lado do botão está ligado ao terra por meio de um resistor. Quando o botão é pressionado, o pino lê HIGH; quando é liberado, lê LOW.
- Configuração 2:Conecte o botão entre o pino do Arduino e o terra. O outro lado do botão está conectado a +5V por meio de um resistor. Quando o botão é pressionado, o pino lê LOW; quando liberado, lê HIGH.

Um diagrama de fiação visual seria útil aqui.
Explicação do código
O código do Arduino utiliza opinMode()função para configurar o pino como entrada. A parte crucial é o uso deINPUT_PULLUP(no vídeo em 04:06, 04:23). Este resistor de pull-up interno elimina a necessidade de um resistor externo em certas configurações, simplificando a fiação. OdigitalRead()função lê o estado do pino, e um simplesif-elseA instrução determina se o botão está pressionado (LOW) ou não (HIGH) (no vídeo em 08:34).
pinMode(2, INPUT_PULLUP); // Configures pin 2 as input with internal pull-up resistor
int pushButton = digitalRead(2); // Reads the state of pin 2
if (pushButton == LOW) {
// Button is pressed
} else {
// Button is not pressed
}
Projeto ao vivo/Demonstração
O vídeo demonstra ambas as configurações de fiação e seus respectivos comportamentos. Ele destaca os problemas que podem surgir quando o resistor é omitido, como leituras erráticas devido a ruído e acoplamento capacitivo (no vídeo em 06:18, 06:39, 07:21). A demonstração mostra claramente a operação estável e confiável alcançada com o resistor no lugar (no vídeo em 08:08).
Capítulos
- [00:00] Introdução
- [00:30] Configurações de fiação
- [04:12] Explicação do código usando INPUT_PULLUP
- [05:36] Remoção do resistor: Demonstração prática
- [08:33] Explicação do Código
Imagens
Coisas que você pode precisar
-
Amazonas
Recursos e referências
Ainda não há recursos.
Arquivos📁
Nenhum arquivo disponível.
