Relé no Arduino: como um pino pequeno manda numa lâmpada sem encostar nela
Como o módulo relé separa o Arduino da rede elétrica, como testar tudo sem tomada e quais cuidados são inegociáveis antes de chegar perto de 127 ou 220 V.
A ideia é simples: uma linha de código e a lâmpada da sala acende. O pino do Arduino entrega 5 V e poucas dezenas de miliamperes. A lâmpada funciona na rede elétrica, 127 ou 220 V em corrente alternada, dependendo da sua cidade. Ligar os dois diretamente destrói a placa e pode matar quem estiver com a mão no circuito. A resposta curta: o Arduino aciona um módulo relé, de preferência com optoacoplador, e o contato do relé funciona como um interruptor que abre e fecha o circuito da lâmpada. Os dois lados nunca dividem fio. E a parte de rede elétrica só se monta com tudo desligado do disjuntor, dentro de uma caixa fechada, e, se for instalação fixa, por um eletricista habilitado.
Segurança antes de tudo. Corrente alternada da rede pode causar choque fatal e incêndio. Este guia explica o princípio e a parte de baixa tensão. Ele não substitui um profissional habilitado para qualquer ligação na rede elétrica. Na dúvida, não ligue na tomada.
Como o relé separa os dois circuitos
Um relé eletromecânico tem dois mundos dentro de uma caixinha plástica. De um lado, uma bobina: quando passa corrente por ela, vira um eletroímã. Do outro, um contato metálico móvel que esse eletroímã puxa. Não há ligação elétrica entre a bobina e o contato, só força magnética. É essa separação física que permite que 5 V comandem 220 V.
O contato tem três terminais, geralmente marcados no módulo:
- COM (comum): o terminal que se move entre os outros dois.
- NA ou NO (normalmente aberto): só se liga ao comum quando a bobina está energizada.
- NF ou NC (normalmente fechado): ligado ao comum quando a bobina está desligada.
Para uma lâmpada que acende quando o código manda, usa-se COM e NA. Assim, se o Arduino desligar, travar ou perder alimentação, a lâmpada apaga. Esse é o comportamento mais seguro para a maioria dos casos.
Por que o pino não aciona a bobina sozinho
A bobina de um relé de 5 V consome mais corrente do que um pino de saída do Arduino deve fornecer. Além disso, quando a bobina é desligada, o campo magnético que se desfaz gera um pico de tensão reverso capaz de danificar o microcontrolador. Por isso existe um transistor para fornecer a corrente e um diodo em paralelo com a bobina para absorver esse pico. Os módulos relé prontos já trazem esse circuito montado, e é por isso que eles são a escolha certa para quem está começando.
O que o optoacoplador acrescenta
Alguns módulos têm um optoacoplador: um LED e um fototransistor dentro do mesmo componente. O sinal do Arduino acende o LED, a luz aciona o transistor, e o transistor alimenta a bobina. Quando o módulo permite alimentar a bobina por uma fonte separada, normalmente removendo um jumper marcado como JD-VCC, o Arduino e o circuito da bobina deixam de compartilhar o terra. É uma camada a mais de isolamento. Não é licença para descuido: o isolamento que protege você da rede está no relé, nas distâncias da placa e na caixa onde tudo fica.
Como montar e testar sem a rede elétrica
Toda a lógica pode ser validada sem nenhum fio de tomada. Faça isso primeiro, sempre.
- Ligue o módulo ao Arduino: VCC no 5 V, GND no GND, IN num pino digital, como o 7. Nada ligado nos bornes de saída.
- Carregue o código abaixo e confirme o clique do relé e o LED indicador do módulo acendendo e apagando.
- Descubra se o seu módulo aciona com sinal baixo ou alto. Muitos módulos comuns ligam o relé quando o pino IN vai para LOW. O código trata isso com uma constante.
- Com o multímetro em continuidade e o circuito sem nenhuma tensão de rede, meça entre COM e NA: deve apitar só com o relé acionado. Entre COM e NF, o contrário.
- Se quiser ver uma carga de verdade, use um LED com resistor alimentado por uma fonte de 5 V passando pelos contatos COM e NA. Mesma lógica, zero risco.
const int PINO_RELE = 7;
const bool RELE_ATIVO_EM_BAIXO = true;
void acionarRele(bool ligado) {
if (RELE_ATIVO_EM_BAIXO) {
digitalWrite(PINO_RELE, ligado ? LOW : HIGH);
} else {
digitalWrite(PINO_RELE, ligado ? HIGH : LOW);
}
}
void setup() {
digitalWrite(PINO_RELE, RELE_ATIVO_EM_BAIXO ? HIGH : LOW);
pinMode(PINO_RELE, OUTPUT);
acionarRele(false);
}
void loop() {
acionarRele(true);
delay(2000);
acionarRele(false);
delay(2000);
}
O digitalWrite antes do pinMode não é engano. Ele define o nível que o pino vai assumir no instante em que vira saída, o que evita que um módulo ativo em baixo dê um clique indesejado na inicialização. Mesmo assim, durante o reset e a gravação do programa o pino fica em estado indefinido por um momento. Em qualquer projeto que controle algo de verdade, considere o que acontece se o relé fechar por meio segundo enquanto a placa reinicia.
Quando chegar a hora da rede elétrica
Se o seu objetivo é aprender a controlar um sinal, pare na etapa do LED. Ela ensina tudo o que importa no código. Se o projeto precisa mesmo comandar uma carga de rede, estas regras não são opcionais:
- Desligue o disjuntor do circuito antes de tocar em qualquer fio e confirme a ausência de tensão com um instrumento adequado. Tirar o plugue da tomada vale para cargas de bancada. Nunca trabalhe com nada energizado.
- Para instalação fixa na parede ou no quadro, chame um eletricista habilitado. Ele conhece as normas de instalação e sabe dimensionar fio, proteção e caixa.
- O contato do relé interrompe a fase, como um interruptor comum. Interromper o neutro deixa a lâmpada apagada, mas energizada.
- Respeite a capacidade do contato impressa no relé e trabalhe bem abaixo dela. Em módulos baratos, as trilhas da placa podem aguentar menos que o próprio relé. Motores e outras cargas com pico de partida desgastam o contato mais rápido.
- Tudo dentro de uma caixa fechada e isolante, com os fios presos por prensa-cabo e sem nenhuma parte metálica da rede acessível ao toque.
- Mantenha distância física entre os fios de rede e os fios do Arduino. Nada de protoboard, jumper ou fio desencapado no lado da rede.
- Prefira módulos com isolamento claro entre o lado da bobina e o lado dos contatos, com fenda ou espaço visível na placa.
- O circuito deve estar protegido por disjuntor e, idealmente, por um dispositivo DR, que desarma quando detecta fuga de corrente.
Para controlar a iluminação de casa no dia a dia, um interruptor inteligente certificado costuma ser a escolha mais segura do que uma montagem caseira. O Arduino com relé é ótimo para aprender e para protótipos supervisionados, numa bancada, com a carga num cabo com plugue e alguém experiente ao lado.
A alimentação do Arduino e do módulo também merece atenção, principalmente quando há vários relés. O guia sobre como alimentar o Arduino explica por que cargas não devem puxar corrente da mesma fonte do chip. Se for comandar o relé por um botão, veja como ler um botão sem repetir o clique, para que o relé não fique batendo.
Erros comuns
- Ligar o relé "puro" direto no pino, sem transistor nem diodo. O pino é sobrecarregado e o pico da bobina pode queimar o microcontrolador.
- Testar a lógica já com a lâmpada na tomada. Qualquer erro de ligação passa a envolver a rede elétrica, com risco de choque e curto.
- Mexer nos bornes com o circuito energizado. Choque elétrico pode ser fatal. Desligue o disjuntor, sempre.
- Deixar o módulo aberto sobre a mesa com fios de rede expostos. Um esbarrão, um objeto metálico ou uma criança basta para um acidente.
- Interromper o neutro em vez da fase. A lâmpada apaga, mas o soquete continua energizado na hora da troca.
- Confiar no número impresso no relé para cargas pesadas. A placa do módulo pode esquentar e derreter antes do relé chegar ao limite.
Checklist
- A lógica foi validada com LED ou multímetro, sem nenhuma tensão de rede.
- Você sabe se o seu módulo é ativo em baixo ou em alto.
- Você identifica COM, NA e NF sem olhar o desenho.
- O módulo tem transistor e diodo, e de preferência optoacoplador.
- Toda ligação na rede foi feita com o disjuntor desligado e a ausência de tensão confirmada.
- O lado da rede está numa caixa fechada, isolante, sem partes expostas.
- A carga está bem abaixo da capacidade do contato e da placa.
- Instalação fixa foi feita ou revisada por eletricista habilitado.
Antes de ligar qualquer coisa na tomada, responda sem olhar o esquema: qual fio do seu circuito nunca encosta no Arduino, e onde está o disjuntor que desliga esse fio? Se você não sabe responder as duas, o projeto continua no LED por mais um dia.
Referência: http://www.arduinoecia.com.br/2013/02/ligando-uma-lampada-com-rele.html