Usando um botão do Arduino para acionar um relé e uma lâmpada em corrente alternada
Neste tutorial, vamos aprender a controlar uma lâmpada de corrente alternada (AC) ou uma lâmpada LED usando um botão de pressão e um relé. O botão de pressão alternará a luz entre ligado e desligado, mantendo seu estado mesmo após o botão ser solto. Esta configuração não é apenas prática, mas também uma ótima introdução ao trabalho com relés e cargas de corrente alternada.

À medida que progredimos, abordaremos os componentes necessários, as instruções de fiação e o código Arduino que torna este projeto possível. Não deixe de assistir ao vídeo associado para um guia visual e explicações detalhadas (no vídeo em 00:00).

Hardware explicado
Para este projeto, usaremos um módulo relé, uma placa Arduino e um botão de pressão. O módulo relé atua como um interruptor que pode controlar cargas de alta tensão em CA, como uma lâmpada, enquanto é controlado pelos sinais de baixa tensão do Arduino. O módulo relé possui três terminais principais para conectar a carga: Comum (COM), Normalmente Aberto (NO) e Normalmente Fechado (NC).
O botão de pressão serve como interface do usuário para alternar o estado do relé. Ele está conectado a um dos pinos digitais do Arduino. Quando o botão é pressionado, ele envia um sinal ao Arduino, que então ativa ou desativa o relé conforme necessário. Essa interação simples nos permite controlar a luz com facilidade.
Detalhes da ficha técnica do relé
| Fabricante | Songle |
|---|---|
| Número da peça | SRD-05VDC-SL-C |
| Tensão da bobina | 5 V CC |
| Tensão de comutação | CA 250 V / CC 30 V |
| Corrente de comutação | 10 A máx. |
| Resistência de contato | ≤ 100 mΩ |
| Resistência de isolamento | ≥ 1000 MΩ |
| Temperatura de operação | -40 a +70 °C |
| Pacote | Módulo de Relé Padrão |
- Certifique-se de que o relé seja classificado para a carga que você está comutando.
- Mantenha o módulo de relé alimentado com 5 VDC.
- Use isolamento apropriado para conexões de corrente alternada.
- Tenha cuidado ao trabalhar com corrente alternada (CA); certifique-se de que o circuito esteja desconectado antes de fazer alterações.
- Conecte o botão de pressão ao pino de entrada designado no Arduino.
- Utilize o modo INPUT_PULLUP no pino do botão para evitar a necessidade de resistores externos.
- Teste o funcionamento do relé com uma tensão mais baixa antes de conectar cargas em CA.
- Verifique as conexões para evitar curtos-circuitos.
Instruções de fiação

Para ligar o módulo de relé, comece conectando o pino VCC do relé ao pino 5V do Arduino, e o pino GND do relé ao pino GND do Arduino. O pino IN do relé deve ser conectado ao pino digital 10 do Arduino. Este pino enviará o sinal para ativar o relé.
Para o botão de pressão, conecte um terminal ao pino digital 2 do Arduino. O outro terminal deve ser conectado ao GND. Esta configuração usa o resistor pull-up interno do Arduino, portanto certifique-se de que o pino esteja definido como INPUT_PULLUP no código. Quando o botão for pressionado, ele levará o pino a LOW, enviando um sinal ao Arduino.
Para a carga AC, conecte um fio ao terminal COM do relé e o outro fio ao terminal NO. Essa configuração permitirá que a carga AC ligue quando o relé for acionado. Sempre certifique-se de que as conexões AC estejam seguras e isoladas.
Exemplos de Código e Guia Passo a Passo
O código a seguir inicializa os pinos necessários e configura o relé para permanecer desligado inicialmente. Ao pressionar o botão, o estado do relé é alternado e o estado da luz é atualizado de acordo.
int pbuttonPin = 2; // connect output to push button
int relayPin = 10; // Connected to relay (LED)
void setup() {
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // keep the load OFF at the beginning
}
No código, a variávelpbuttonPinestá atribuído ao pino 2, que é usado para o botão pulsador. OrelayPinestá configurado no pino 10, controlando o relé. OdigitalWriteA função é usada para garantir que o relé comece no estado OFF.
void loop() {
val = digitalRead(pbuttonPin); // read the push button value
if(val == HIGH && lightON == LOW) {
pushed = 1 - pushed; // toggle the push status
delay(100);
}
if(pushed == HIGH) {
digitalWrite(relayPin, LOW); // turn the relay ON
} else {
digitalWrite(relayPin, HIGH); // turn the relay OFF
}
}
Esta seção do código verifica continuamente o estado do botão de pressão. Quando o botão é pressionado, ele alterna opushedvariável. Dependendo do valor depushed, o relé é ligado ou desligado, controlando efetivamente a luz. Este laço é executado continuamente, garantindo que o estado da luz seja atualizado em tempo real.
Para obter detalhes completos do código, por favor consulte o código carregado abaixo do artigo.
Demonstração / O que esperar
Quando você pressiona o botão de pressão, o relé será ativado, ligando a lâmpada AC conectada. Pressionar o botão novamente desligará a lâmpada. O monitor serial exibirá mensagens de status, indicando se a luz está LIGADA ou DESLIGADA. Se você encontrar problemas, certifique-se de que a fiação está correta e verifique se não há entradas flutuantes que possam causar comportamento inesperado (no vídeo em 10:00).
Marcas de tempo do vídeo
- 00:00- Introdução
- 01:30- Visão geral do hardware
- 03:15- Instruções de fiação
- 05:45- Revisão guiada do código
- 08:00- Demonstração
Recursos e referências
Arquivos📁
Nenhum arquivo disponível.