Projeto 02 - Led acende com push button pressionado (resistor pull-down)
- Detalhes
- angelo
- Acessos: 38791
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 | ![]() |
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) |
|
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:
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.