Os botões de pressão são incrivelmente comuns no espaço DIY Arduino, com inúmeros projetos na web contando com esses pequenos interruptores para ativar seu código. Mas como exatamente você pode conectar e programar mais de um botão para funcionar com seu Arduino? Vamos descobrir.
O que estamos fazendo?
Este é um projeto simples projetado para você começar com construções mais complexas do Arduino no futuro. Não daremos trabalho aos nossos botões, mas isso significa que você pode escolher o que gostaria que eles fizessem por si mesmo usando um de nossos outros guias práticos do Arduino DIY.
O que você precisa?
Você só precisa de um punhado de peças para concluir este projeto, muitas das quais você já terá em sua coleção de peças de bricolage.
- 4 x interruptores de botão
- 4 resistores de 10kΩ
- 1 x Qualquer tipo de placa Arduino (estamos usando um Leonardo)
- Fio revestido de PVC/silicone
Fiação de vários botões com um Arduino
A fiação para este projeto é simples, mas você deve ter cuidado para evitar que os fios fiquem emaranhados ao fazer cada conexão, pois cada botão requer dois fios diferentes.
Começando simples, faz sentido conectar um botão com sua perna positiva conectada ao pino de 5V em nosso Arduino, e a perna de aterramento do botão conectada ao GND e ao pino digital 2 em nosso Arduino borda. Um resistor deve ser conectado entre a perna de aterramento do botão e o pino GND no Arduino.
Com um botão conectado, é hora de adicionar os outros. Cada botão precisa de seu próprio Pin Digital; escolhemos 2, 3, 4 e 5 para os quatro botões que estamos usando, mas qualquer um dos pinos digitais funcionará. Agora que seu Arduino está todo conectado, é hora de começar a trabalhar no código.
Programando vários botões com um Arduino
O código do projeto é agradável e simples, sem a necessidade de bibliotecas de classes ou outra programação complicada.
Atribuindo botões aos pinos
Para a primeira etapa, precisamos atribuir nossos botões aos diferentes pinos da nossa placa Arduino. Como usamos os pinos digitais 2, 3, 4 e 5, esses são os pinos que declararemos com nosso código. Isso deve ser colocado no topo do seu projeto Arduino, antes de qualquer uma das funções.
int entrada4Pin = 5;
int entrada3Pino = 4;
int entrada2Pino = 3;
int entrada1Pino = 2;
Configurando os botões
Como na maioria dos projetos do Arduino, usaremos uma função que será executada uma vez no início do programa, chamada void configuração(). Primeiro, iniciaremos nossa conexão serial com uma taxa de transmissão de 57600, seguida pela inicialização de nossos botões. Isso é tudo que precisamos em nosso void configuração() função.
void configuração()
{
Serial.begin (57600); // isso inicia a conexão serial com uma taxa de transmissão de 57600
pinMode (entrada4Pino, ENTRADA);
pinMode (entrada3Pino, ENTRADA);
pinMode (entrada2Pino, ENTRADA);
pinMode (entrada1Pino, ENTRADA); // essas linhas declaram cada um dos botões como uma entrada
}
Detecção de pressionamentos de botão
Esta próxima etapa é mais complexa que as outras, pois estaremos criando nossa própria função que lidará com uma variável da função de loop principal. Para começar, precisamos declarar nossa função com uma variável inteira como o código abaixo.
void checkPush (int pinNumber)
Depois disso, precisamos atribuir a variável que estamos usando e criar um E se instrução para detectar quando cada botão é pressionado. Esta função só pode verificar um botão de cada vez, usando a variável que obtém da função de loop principal para saber qual botão está verificando. Nosso E se instrução verifica o estado do botão usando o built-in leitura digital função.
void checkPush (int pinNumber)
{
int botãoPushed = digitalRead (pinNumber);
if (botãoPressionado == ALTO) {
// adiciona aqui o código para quando um botão é pressionado
}
outro {
// adiciona aqui o código para quando um botão não é pressionado
}
}
Código adicionado ao E se A instrução será executada quando um botão for pressionado, enquanto o código no outro A instrução só será executada quando um botão não for pressionado.
Construindo o Loop Principal
Finalmente, como o último pedaço de código que você precisa adicionar ao seu programa, é hora de construir o void loop() função. Precisamos apenas de quatro linhas de código: uma para cada um dos botões que anexamos ao nosso Arduino. Essas linhas chamam a função que criamos na etapa anterior com o número do pino de cada botão.
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2);
}
O Código Acabado
Depois de ter todo esse código no lugar, seu programa finalizado deve se parecer com o código abaixo. Adicionamos comentários a cada linha para facilitar a compreensão, mas recomendamos que você procure e leia sobre qualquer coisa que não reconheça. Essa pode ser uma ótima maneira de expandir seu conhecimento de codificação.
int entrada4Pin = 5;
int entrada3Pino = 4;
int entrada2Pino = 3;
int entrada1Pino = 2;
// isso declara cada um dos nossos botões e seus pins
// certifique-se de usar os pinos aos quais seus botões estão conectados
void configuração()
{
Serial.begin (57600); // isso inicia a conexão serial com uma taxa de transmissão de 57600
pinMode (entrada4Pino, ENTRADA);
pinMode (entrada3Pino, ENTRADA);
pinMode (entrada2Pino, ENTRADA);
pinMode (entrada1Pino, ENTRADA); // essas linhas declaram cada um dos botões como uma entrada
}
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2); // cada uma dessas linhas chama nossa função checkPush com um número de pino diferente
}
void checkPush (int pinNumber) // esta função espera um valor inteiro quando é chamada
{
int botãoPushed = digitalRead (pinNumber); // lê o estado de um botão com base no número do pino
if (buttonPushed == HIGH) { // verifica o estado do botão
// adiciona aqui o código para quando um botão é pressionado
}
outro {
// adiciona aqui o código para quando um botão não é pressionado
}
}
Sucesso: Fiação e programação de vários botões com um Arduino
Este é um projeto fácil de começar quando você quer aprender sobre hardware e software para Arduinos. Você pode expandir facilmente o que você fez com componentes adicionais, dando a você a chance de explorar uma variedade de ideias interessantes e criar coisas que fazem você se sentir orgulhoso.
Programação do Arduino para iniciantes: Tutorial do projeto do controlador de semáforo
Leia a seguir
Tópicos relacionados
- faça você mesmo
- Programação
- Arduino
- Eletrônicos
- Programação
- Tutoriais de projetos de bricolage
Sobre o autor

Samuel é um escritor de tecnologia baseado no Reino Unido com uma paixão por todas as coisas de bricolage. Tendo iniciado negócios nas áreas de desenvolvimento web e impressão 3D, além de trabalhar como escritor por muitos anos, Samuel oferece uma visão única do mundo da tecnologia. Concentrando-se principalmente em projetos de tecnologia DIY, ele adora compartilhar ideias divertidas e emocionantes que você pode experimentar em casa. Fora do trabalho, Samuel geralmente pode ser encontrado andando de bicicleta, jogando videogames para PC ou tentando desesperadamente se comunicar com seu caranguejo de estimação.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar