O botão é um componente que conecta dois pontos do circuito quando está pressionado. Neste exemplo quando o botão está pressionado o LED se acende.

O Que Vou Aprender?

- Cabear um circuito
- Condicional if/else
- Estado de um botão
- Ler uma entrada digital e escrever uma saída digital

Conhecimentos Prévios

- Sinal digital
- Função digitalWrite() e digitalRead()
- Divisor de voltagem
- Condicional, operadores booleanos e de comparação

Código Fonte

Download do arquivo em formato .ino

Materiais Necessários

Para este tutorial você vai precisar de 1 Arduino Uno R3, 1 LED, 1 botão, 1 Resistor 10kΩ, 1 Protoboard, 1 Cabo USB - AB e Jumpers premium. Ou você pode utilizar os componentes do Kit Iniciante com Arduino Uno R3.

Tutorial Multilógica-Shop Arduino Botão

 

Diagrama

Tutorial Multilógica-Shop Arduino Botão

 

Código Fonte

/*
  Botao
 
 Liga e desliga um LED conectado ao pino digital 13 quando pressionado um botao conectado ao pino 2.
 
 O Circuito:
 * LED conectado ao pino 13 e ao terra
 * botao conectado ao pino 2 desde 5V
 * resistor de 10K conectado ao pino 2 desde o terra
*/

// constantes nao sao alteradas.
// Sao usadas aqui para definir os numeros dos pinos:
const int buttonPin = 2;     // o numero do pino do botão
const int ledPin =  13;      // o numero do pino do LED

// variaveis que devem mudar:
int buttonState = 0;         // variavel para ler o estado do botao

void setup() {
  // inicializa o pino do LED como saida:
  pinMode(ledPin, OUTPUT);     
  // inicializa o pino do botao como entrada:
  pinMode(buttonPin, INPUT);   
}

void loop(){
  // faz a leitura do valor do botao:
  buttonState = digitalRead(buttonPin);

  // verifica se o botao esta pressionado.
  // em caso positivo, buttonState e HIGH:
  if (buttonState == HIGH) {   
    // liga o LED:   
    digitalWrite(ledPin, HIGH); 
  }
  else {
    // desliga o LED:
    digitalWrite(ledPin, LOW);
  }
}

Dicas

1 - Quando você está programando com o software do Arduino, muitas das palavras que você escreve são reservadas para a linguagem. Estas palavras se colocam com uma cor diferente, e é uma dica para verificar se estão escritas corretamente. Como no exemplo:

void loop()    {
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}

2 - Em um projeto com uso de vários botões com funcionalidades diferentes, pode ser útil trabalhar com peças como estas:

Conjunto de botões tácteis coloridos

Exercício 1

Para evitar acidentes no ambiente de trabalho, uma regra de segurança em vários equipamentos industriais é obrigar que um usuário aperte dois botões, um com cada mão, para acionar uma máquina. É o caso da máquina de corte usada em fábricas de papel.
Com a seguinte montagem podemos simular esta situação. O LED somente acende se os dois botões do circuito estiverem pressionados:

 

Tutorial Multilógica-Shop Arduino Botão

Exercício 2

Faça mais uma modificação no código fonte do exercício 1 para que você possa acender o LED do pino 13 pressionando ou o botão 1 ou o botão 2. Ao deixar de pressionar, o LED se apaga.

 

Este tutorial é parte integrante do Guia Iniciante Arduino, desenvolvido pela equipe da Multilógica-Shop. Faça download grátis do arquivo com 11 tutoriais. Neste guia você também vai encontrar, além de indicações de instalação e tutoriais, uma grande quantidade de informações sobre todo o ambiente que está ao redor desta plataforma.

Guia Arduino Iniciante Multilógica-Shop