Básico - Projeto 02

Botão (push button) liga led quando pressionado

Objetivo

Criar um circuito para ligar e desligar um led através de um botão de pressão (pushbutton), que se estiver pressionado acende o led, se não apaga o led.

Observação: Os botões de pressão (push button) apenas mudam seu estado quando pressionados, voltando ao seu estado original quando o botão é liberado. Neste projeto, teremos uma rotina para atribuir ao botão a função de ligar um componente eletrônico qualquer quando o botão for mantido pressionado, e desligar quando o botão estiver liberado.

Aplicação

Para fins didáticos e projetos gerais com arduino.

Componentes necessários

Referência

Componente

Quantidade

Imagem

Observação

Protoboard Protoboard 830 pontos

Comprar

1 Resultado de imagem para protoboard 830v

No mínimo utilizar protoboard com 830 pontos

Jumpers Kit cabos ligação macho / macho

Comprar

1  
Resistor

Resistor

Comprar

2

1 Resistor 150Ω (vermelho ou amarelo)

1 Resistor 10KΩ (push button)

Se precisar usar outros valores, calcule o resistor apropriado para o led utilizado - Calcular Resistor ou utilize a tabela padrão Tabela de resistores para leds

Led 5mm LED 5mm

Comprar

1

1 LED alto brilho ou difuso (qualquer cor)

Você poderá utilizar também LEDs de 3 mm na cor que desejar.

Push Button Push button 6X6X5mm

Comprar

 1  
Arduino UNO R3 Arduino UNO Original

Comprar

 

Arduino UNO Similar

Comprar

1

Você poderá utilizar uma placa Arduino UNO original ou similar

Montagem do Circuito

Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da força enquanto você monta o circuito.

Atenção

1) Lembre-se que o LED tem polaridade: O terminal maior tem polaridade positiva e o lado do chanfro tem polaridade negativa.

1.1. Portanto, faça a conexão do Arduino no terminal positivo (anodo) e o GND no terminal negativo (catodo) do led.

1.2. Para evitar danos ao led é necessário a inclusão de um resistor no circuito. Como o resistor é um limitador da corrente elétrica, ele poderá estar conectado no anodo (terminal maior) ou no catodo (terminal menor) do led, tanto faz

2) Determinamos o valor do resistor através da tabela prática: Tabela prática de utilização de leds 3mm e 5mm. Entretanto, o mais correto é sempre verificar o datasheet do fabricante do LED para você ter os exatos valores de tensão e corrente do mesmo - leia Como calcular o resistor adequado para o led. (Obs.: Resistores superiores a 250 Ω poderão ser utilizados em LEDs de todas as cores para um circuito com tensão igual ou inferior a 5V).

Valores utilizados para nossos projetos: LEDs difusos ou de alto brilho: Vermelho, Laranja e Amarelo: 150 Ω | Led Verde e Azul: 100 Ω

3) Monte o botão (push button) com resistor pull-down (resistor conectado no GND). Desta forma, quando o botão estiver pressionado, o Arduino retornará "HIGH" ou "1". Leia mais em Resistores Pull-down e pull-up

 

Obs.: Os resistores pull-up e pull-down garantem um nível lógico estável quando por exemplo uma tecla não está pressionada. Geralmente utiliza-se um resistor de 10KΩ para esse propósito. A seguir é exibida a ligação desses resistores no circuito para leitura de tecla do botão:

Entradas-e-Saídas-digitais-Arduino-pull-up-pull-down

4) A montagem abaixo foi realizada em um protoboard com linhas de alimentação não contínuas, onde acrescentamos jampers para a ligação. Verifique se o seu protoboard possui linhas de alimentação contínuas ou separadas - saiba mais em protoboard

Código do projeto (Sketch)

Faça o dowload e abra o arquivo projeto02.ino no IDE do Arduino:

Ou se preferir, copie e cole o código abaixo no IDE do Arduino:

/*******************************************************************************
*
*    Projeto 02 – Push button liga led quando pressionado (pull down)
*                   http://squids.com.br/arduino
*
*******************************************************************************/

const int ledPin = 2; //led no pino 2
const int Botao = 12; //botao no pino 12
int estadoBotao; //Variavel para ler o status do pushbutton

void setup(){
    pinMode(ledPin, OUTPUT); //Pino do led será saída
    pinMode(Botao, INPUT); //Pino com botão será entrada
}

void loop(){
    estadoBotao = digitalRead(Botao); //le o estado do botão - HIGH OU LOW

    if (estadoBotao == HIGH){ //Se botão estiver pressionado (HIGH)
        digitalWrite(ledPin, HIGH); // acende o led do pino 2.
    }
    else{ //se não estiver pressionado (LOW)
        digitalWrite(ledPin, LOW); //deixa o led do pino 2 apagado
    }
} 

Depois, faça a verificação e o upload para o microcontrolador.

Vídeo

Como o projeto deve funcionar

1. Iniciando o programa, o led permanecerá apagado.

2. Ao pressionar o botão o led se acenderá, mantendo-se aceso até você liberar o botão.

3. Ao liberar o botão o led se apagará, mantendo o seu estado inicial.