Usando um botão do Arduino para acionar um relé e uma lâmpada em corrente alternada

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.

5V LOW-LEVEL trigger relay

À 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).

5V LOW-Level triggered Relay module

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é

FabricanteSongle
Número da peçaSRD-05VDC-SL-C
Tensão da bobina5 V CC
Tensão de comutaçãoCA 250 V / CC 30 V
Corrente de comutação10 A máx.
Resistência de contato≤ 100 mΩ
Resistência de isolamento≥ 1000 MΩ
Temperatura de operação-40 a +70 °C
PacoteMó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

Arduino wiring for AC bulb, LED and push button
Arduino wiring for AC bulb, LED and push button

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

Imagens

5V LOW-Level triggered Relay module
5V LOW-Level triggered Relay module
5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
Arduino wiring for AC bulb, LED and push button
Arduino wiring for AC bulb, LED and push button
5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
34-Using an Arduino push button to push-on and push-off a relay and AC bulb (toggle)
Idioma: C++
Copiado!

Arquivos📁

Nenhum arquivo disponível.