Componentes · 7 min de leitura

O que é módulo relé no Arduino? Ligação, código e segurança

O que é um módulo relé no Arduino? Uma chave que a placa aciona para controlar lâmpadas, bombas e ventiladores. Entenda NO, NC e COM, ligação ativa em LOW, JD-VCC e um sketch com botão.

Um relé é uma chave acionada eletricamente que usa um pequeno sinal elétrico para ligar e desligar uma carga muito maior. Um pino do Arduino só fornece 5 V e algumas dezenas de miliampères; isso basta para um LED, mas não para uma lâmpada, um ventilador, uma bomba d'água ou um aparelho ligado na rede elétrica de 230 V. O módulo relé resolve isso: o Arduino envia um sinal pequeno, e o relé fecha seus contatos internos para que a corrente alta passe pela carga. Ele é a peça central de projetos de casa inteligente, irrigação automática e temporizadores.

Módulo relé 5V de um canal
Módulo relé 5 V de um canal: a caixa azul é o relé, e os terminais de parafuso ao lado conectam o lado da carga.

Como um relé funciona?

Dentro de um relé há uma bobina (um eletroímã), um braço metálico móvel e um conjunto de contatos. Quando a corrente passa pela bobina, o campo magnético puxa o braço e fecha os contatos; o "clique" que você ouve é esse movimento. Quando a corrente para, uma mola empurra o braço de volta e os contatos se abrem.

O ponto principal é que não há ligação elétrica entre o lado da bobina (o circuito de controle) e o lado dos contatos (o circuito da carga). Eles estão ligados apenas magneticamente. Isso mantém o seu circuito de 5 V do Arduino isolado da rede elétrica.

O que tem em um módulo relé?

Você não pode ligar um relé sozinho direto em um pino do Arduino: a bobina puxa mais corrente do que o pino consegue fornecer e, ao desligar, gera um pico de tensão que pode queimar o pino. A placa do módulo vem com as peças que resolvem esses problemas:

  • Transistor de acionamento: chaveia os 70–80 mA de que a bobina precisa usando o pequeno sinal do pino.
  • Diodo de roda livre (flyback): absorve a tensão reversa gerada quando a bobina desliga, protegendo o transistor e o Arduino.
  • Optoacoplador (em alguns modelos): transmite o sinal de controle na forma de luz, separando totalmente o Arduino do circuito do relé.
  • LED de status: acende quando o relé está ligado; muito útil para conferir se o seu código funciona.
  • Terminais de parafuso: permitem prender os fios da carga com segurança, sem solda.

O que significam NO, NC e COM?

O lado da carga de um relé tem três terminais. Os que você usar decidem se o seu aparelho fica ligado ou desligado quando o relé não está energizado:

TerminalSignificadoQuando ele está ligado ao COM?
COMComum; um dos fios da carga vai aquiSempre ligado ao NO ou ao NC
NONormalmente aberto (Normally Open)Só quando o relé está energizado
NCNormalmente fechado (Normally Closed)Quando o relé não está energizado
A maioria dos projetos usa COM e NO: quando o Arduino está desligado, reiniciando ou travado, o aparelho também fica desligado. Escolha o NC para um aparelho que deve funcionar o tempo todo e só ser cortado de vez em quando.

Especificações (módulo comum de 5 V)

CaracterísticaValor
Tensão da bobina5 V CC
Corrente da bobinaCerca de 70–80 mA (por canal)
Capacidade dos contatos10 A 250 V CA / 10 A 30 V CC (impresso no relé)
AcionamentoAtivo em LOW ou ativo em HIGH (depende do módulo)
Pinos de controleVCC, GND, IN (IN1, IN2... em placas de vários canais)
Terminais da cargaCOM, NO, NC

Como ligar um módulo relé no Arduino

O lado de controle usa três fios: ligue o VCC do módulo no 5V, o GND no GND e o IN no pino digital 7. No lado da carga, você corta um dos fios do aparelho que quer controlar e liga as duas pontas nos terminais COM e NO. O relé simplesmente toma o lugar de um interruptor de parede comum.

C++ (Arduino IDE)
1const int RELAY_PIN = 7;
2
3void setup() {
4  pinMode(RELAY_PIN, OUTPUT);
5  digitalWrite(RELAY_PIN, HIGH);  // aktif LOW modülde kapalı başla / start OFF on active-LOW modules
6}
7
8void loop() {
9  digitalWrite(RELAY_PIN, LOW);   // röle çeker, cihaz açılır / relay on
10  delay(3000);
11  digitalWrite(RELAY_PIN, HIGH);  // röle bırakır, cihaz kapanır / relay off
12  delay(3000);
13}
Muitos módulos relé são ativos em LOW: o relé liga quando o pino IN está em LOW e desliga quando está em HIGH. Você descobre qual é o seu tipo pelo LED de status. Em uma placa ativa em HIGH, troque HIGH e LOW no código acima. Desligar o relé logo no início do setup() impede que o aparelho ligue por um instante enquanto o Arduino inicializa.

Controlando um relé com um botão: interruptor liga-desliga

Em projetos reais, você normalmente controla o relé com um botão, um sensor ou um temporizador. O código abaixo inverte o estado do relé a cada vez que você aperta o botão, então dá para acionar uma lâmpada da rede elétrica com um botãozinho. Para a ligação do botão e o efeito bounce, veja Como ligar um botão no Arduino.

C++ (Arduino IDE)
1const int RELAY_PIN = 7;
2const int BUTTON_PIN = 2;      // butonun diğer ucu GND'de / other leg to GND
3
4bool relayOn = false;
5bool lastButton = HIGH;
6
7void setup() {
8  pinMode(RELAY_PIN, OUTPUT);
9  pinMode(BUTTON_PIN, INPUT_PULLUP);
10  digitalWrite(RELAY_PIN, HIGH); // başta kapalı / start OFF (active LOW)
11}
12
13void loop() {
14  bool button = digitalRead(BUTTON_PIN);
15  if (lastButton == HIGH && button == LOW) {   // yeni basış / new press
16    relayOn = !relayOn;
17    digitalWrite(RELAY_PIN, relayOn ? LOW : HIGH);
18    delay(50);                                  // sıçrama önleme / debounce
19  }
20  lastButton = button;
21}

JD-VCC e o optoacoplador: isolamento total

Nos módulos com optoacoplador, ao lado dos pinos VCC, GND e IN há um pino chamado JD-VCC com um jumper. Com o jumper colocado, a bobina do relé também é alimentada pelos 5 V do Arduino. Se você tirar o jumper e ligar um adaptador de 5 V separado no JD-VCC e no GND dele, a corrente da bobina vem toda desse adaptador, e o lado do Arduino só acende o LED do optoacoplador. Com cargas ruidosas como motores e bombas, isso reduz muito os travamentos e reinícios do Arduino.

Relés com o ESP32 e o Raspberry Pi Pico

Os pinos do ESP32 e do Pico têm saída de 3,3 V. A maioria dos módulos relé de 5 V aciona com esse sinal, mas em um módulo ativo em LOW um HIGH de 3,3 V nem sempre consegue soltar o relé por completo; se o seu relé fica ligado o tempo todo, o motivo é esse. A solução é comprar um módulo com acionamento em 3,3 V, usar uma placa com optoacoplador e JD-VCC separado ou acrescentar um pequeno transistor NPN. O módulo em si continua sendo alimentado com 5 V. Controlar um relé com um Pico em MicroPython é simples assim:

MicroPython
1from machine import Pin
2import time
3
4relay = Pin(15, Pin.OUT, value=1)   # GP15, aktif LOW: 1 = kapalı / active LOW: 1 = off
5
6while True:
7    relay.value(0)    # röle çeker / relay on
8    time.sleep(3)
9    relay.value(1)    # röle bırakır / relay off
10    time.sleep(3)

Regras de segurança para trabalhar com a tensão da rede elétrica

A tensão da rede elétrica pode matar. Sempre faça as ligações com o plugue fora da tomada, nunca deixe pontas de fio desencapadas expostas, coloque o circuito em uma caixa fechada e isolada e, se não tiver certeza, pratique com uma fita de LED ou um ventilador de 12 V em vez da rede elétrica. Crianças nunca devem mexer no lado da rede elétrica sem um adulto.
  • Respeite a capacidade de corrente: nunca passe do valor impresso no relé (por exemplo, 10A 250VAC). Com aparelhos de alta potência, como aquecedores, ar-condicionado e chaleiras elétricas, fique bem abaixo desse limite.
  • Chaveie o fio fase: ao controlar uma lâmpada ou tomada, passe o fio fase pelo relé, e não o neutro, para que não fique tensão no aparelho quando ele estiver desligado.
  • Use o cabo certo: os jumpers de protoboard não foram feitos para a rede elétrica; no lado da carga, use cabo isolado com a bitola adequada.
  • Isole a parte de baixo da placa: o lado das soldas do módulo fica com a tensão da rede; não deixe que ele encoste em superfícies metálicas ou nas mãos.
  • Coloque um fusível: um fusível com a capacidade certa na linha da carga evita um incêndio em caso de curto-circuito.

Relé, transistor ou relé de estado sólido?

CaracterísticaRelé mecânicoTransistor / MOSFETRelé de estado sólido (SSR)
ChaveiaCA e CCSó CCPrincipalmente CA
VelocidadeLenta (milissegundos)Muito rápida, permite PWMRápida
RuídoFaz cliquesSilenciosoSilencioso
Vida útilOs contatos se desgastam com o tempoMuito longaMuito longa
Ideal paraLâmpadas, tomadas, bombasVelocidade de motores, fitas de LEDCargas CA chaveadas com frequência

Resumindo: se você vai ligar e desligar um aparelho de vez em quando, o relé mecânico é a solução mais barata e fácil. Para ajustar a velocidade de um motor ou o brilho de uma fita de LED, escolha um transistor ou MOSFET, e para cargas CA chaveadas muitas vezes por segundo, um relé de estado sólido. Para escolher um transistor adequado, dê uma olhada na ferramenta Transistores.

Ideias de projetos com relé

  • Irrigação inteligente: acione uma bomba d'água quando o sensor de umidade do solo indicar que a terra está seca.
  • Luz com sensor de presença: acenda uma lâmpada quando um sensor PIR detectar alguém e apague depois de um tempo.
  • Exaustor controlado pela umidade: ligue o exaustor do banheiro quando a umidade subir; para a medição, veja Sensor de temperatura e umidade DHT11.
  • Tomada com controle remoto: acione uma tomada com um receptor IR e um controle remoto de TV.
  • Temporizador: ligue e desligue a luz de um aquário no mesmo horário todos os dias.
  • Controle pelo celular: controle uma lâmpada por uma página web usando o Wi-Fi do ESP32.

Erros comuns e como resolvê-los

  • O relé funciona ao contrário: o módulo é ativo em LOW; troque HIGH e LOW no código.
  • O relé fica clicando sem parar: a fonte pode estar fraca demais; use um adaptador externo de 5 V, principalmente com vários relés.
  • O Arduino reinicia quando o motor parte: ruído e queda de tensão; alimente a bobina separadamente pelo JD-VCC e coloque um capacitor nos terminais do motor.
  • O LED acende, mas a carga não funciona: os fios da carga podem estar no NC, ou um parafuso de terminal pode estar frouxo.
  • O relé nunca solta com o ESP32: o HIGH de 3,3 V não consegue desligar um módulo ativo em LOW; use um módulo compatível com 3,3 V ou um transistor.
  • Ligar um relé sozinho direto em um pino: a corrente da bobina e a tensão reversa queimam o pino; use sempre um módulo, ou um transistor com um diodo.

Quando você junta um relé com um sensor, começa a criar automações realmente úteis. Para ver o que cada sensor faz, dê uma olhada no Guia de sensores para Arduino; no app BlueGrays você encontra projetos de lâmpada com relé, irrigação e iluminação passo a passo, com esquemas do circuito.

Perguntas frequentes

Por que meu módulo relé fica clicando sem parar?

A causa mais comum é uma fonte fraca: quando o relé aciona, a tensão cai, o Arduino reinicia e o relé solta. Se você usa vários relés ou alimenta o Arduino pela USB, use um adaptador externo de 5 V. Confira também se o seu código não tem um loop que fica acionando o relé o tempo todo.

O que significa um relé ativo em LOW?

É um módulo relé que liga quando o pino IN está em LOW (0 V) e desliga quando está em HIGH. A maioria dos módulos baratos funciona assim. No código, você escreve digitalWrite(pin, LOW) para ligar e HIGH para desligar; colocá-lo em HIGH logo no setup() para que comece desligado é um bom hábito.

Um relé pode controlar um motor CC?

Para ligar e desligar o motor, sim, mas você não consegue ajustar a velocidade nem mudar o sentido de giro com facilidade. Para controlar a velocidade, use um MOSFET ou um driver de motor com PWM, e para o sentido, uma ponte H como o L298N.

Para que serve o jumper JD-VCC?

Nos módulos com optoacoplador, ele separa a alimentação da bobina do relé (JD-VCC) da alimentação de controle (VCC). Se você tirar o jumper e der ao JD-VCC um 5 V próprio, o Arduino fica totalmente isolado do circuito do relé, e o ruído de cargas como motores não chega até ele.

Devo comprar um relé de 5 V ou de 12 V?

A tensão da bobina precisa ser igual à tensão com que você alimenta o módulo. Para projetos com Arduino, o módulo com bobina de 5 V é o mais prático, porque os 5 V do Arduino ou um adaptador USB bastam. Um relé com bobina de 12 V precisa de uma fonte de 12 V; isso não tem nada a ver com a tensão do lado da carga.

Quantos relés um Arduino consegue controlar?

Cada relé precisa de um pino digital, e um Uno tem até 20 pinos utilizáveis. O limite real é a corrente: cada bobina puxa cerca de 70–80 mA, então, com mais de 2 relés, alimente o módulo com um adaptador externo de 5 V em vez do Arduino. Para mais canais, também existem módulos de 8 e 16 canais.

Ver todos os projetos
Acender uma lâmpada de 220V com botão de pressão
#19Avançado
Premium

Acender uma lâmpada de 220V com botão de pressão

Enquanto você mantém o botão pressionado, uma lâmpada de 220 volts fica acesa e apaga assim que você solta. O sinal fraco do Arduino não consegue acender a lâmpada diretamente, então um relé, que é um

4.4(30)
38
Ligar e desligar uma lâmpada de 220V com botão
#20Avançado
Premium

Ligar e desligar uma lâmpada de 220V com botão

Quer ligar e desligar uma lâmpada de casa com um pequeno botão? Ao pressionar o botão, o Arduino aciona um relé e a lâmpada acende; ao pressionar novamente, ela apaga. O relé funciona como intermediár

4.5(33)
44
Acender uma lâmpada de 220V com controle remoto
#21Avançado
Premium

Acender uma lâmpada de 220V com controle remoto

Ligue e desligue uma lâmpada de casa com o controle da TV, sem sair do sofá. O Arduino lê o sinal de luz invisível do controle; o botão de ligar aciona o relé e acende a lâmpada, e o botão de silencia

4.4(22)
30
Estação de irrigação inteligente
#83Avançado
Premium

Estação de irrigação inteligente

Um jardineiro que rega suas plantas sozinho para que elas não sequem enquanto você está de férias. Um sensor de umidade do solo mede o quanto a terra está úmida; quando ela seca, o Arduino aciona a bo

5.0(42)
57
Iluminação inteligente com ESP32 (PIR + LDR + relé + OLED)
#141Avançado
Premium

Iluminação inteligente com ESP32 (PIR + LDR + relé + OLED)

Transforme a iluminação do corredor, banheiro ou despensa em iluminação inteligente com ESP32! Com um sensor de movimento PIR, um sensor de luz LDR e um módulo relé, montamos o cenário clássico de "acender a luz ao detectar movimento no escuro" — se o ambiente já estiver claro, o movimento NÃO aciona a luz, economizando energia durante o dia. A luz fica acesa por 30 segundos; se o movimento continuar, o temporizador reinicia e a luz permanece acesa por mais tempo.

4.3(6)
11
Iluminação automática com ESP32 e sensor de movimento PIR
#121Intermediário
Premium

Iluminação automática com ESP32 e sensor de movimento PIR

Neste projeto, usaremos o sensor de movimento PIR HC-SR501 para detectar quando alguém entra no cômodo e acender o LED automaticamente. Acompanharemos o tempo em que o LED fica aceso com millis(). Cada leitura HIGH do sensor atualizará o instante do último movimento, e o LED apagará pelo menos 10 segundos após a última leitura HIGH. O código atual também espera 50 ms em cada ciclo com delay(50), portanto o laço da aplicação não é totalmente livre de bloqueios.

4.4(24)
38
Campainha e luz com sensor de movimento
#25Intermediário
Premium

Campainha e luz com sensor de movimento

Quando alguém se aproxima da sua porta, você fica sabendo antes mesmo de a pessoa tocar a campainha. Assim que o sensor detecta alguém, o LED acende e o buzzer toca uma melodia de três notas, da mais

4.7(54)
71