Como utilizar o modulo relé/relay Estado Sólido 5v com Arduino
Quer fazer o controle de um dispositivo de tensão alternada, como uma lâmpada, ventilador ou qualquer outro eletrodoméstico com o Arduino? Como sabemos, o Arduino funciona com tensão contínua de 5V e não pode controlar diretamente estes aparelhos. É aqui que os módulos relés entram em ação.
Neste tutorial aprenderemos como controlar o acionamento de dispositivos utilizando o módulo relé de estado sólido (Figura 1) e Arduino.
O módulo relé de estado sólido é utilizado para controlar circuitos externos de grandes correntes alternadas a partir de pequenas correntes ou tensões. Este dispositivo pode ser controlado por diferentes microcontroladores, como Arduino, ESP8266, ESP32, sendo uma excelente ferramenta para projetos de automação residencial.
A principal vantagem do relé de estado sólido em relação aos outros relés convencionais (eletromecânicos) é que ele não possui componentes mecânicos em seu interior, o que aumenta sua vida útil, diminui seu tempo de chaveamento, evita problemas com interferências eletromagnéticas e não produz barulho durante o chaveamento.
O módulo relé de estado sólido opera apenas para o controle de acionamento de cargas de corrente alternada (AC), tendo a capacidade máxima de 250VDC/2A. Para cargas DC será necessário utilizar o módulo relé eletromecânico.
Quanto a pinagem, o módulo relé de estado sólido possui 2 bornes: um com três pinos de alimentação (DC+ e DC-) e comunicação com o microcontrolador (CH1) e outro com dois pinos para conexão da carga AC (SW1). Os pinos do módulo encontram-se detalhados na Figura 2.
Cada uma entrada possui a seguinte função:
- DC+: Pino de alimentação. O módulo opera com tensão de 5VDC;
- DC-: Pino de aterramento do módulo (GND);
- CH1: Pino de controle que recebe as informações para acionamento da carga do microcontrolador;
- SW1: Pinos de conexão da carga AC, ou seja, do equipamento que se deseja controlar.
O módulo relé de estado sólido opera com nível lógico invertido. Deste modo, para acioná-lo será necessário definir o pino CH1 como nível lógico baixo (0V – 1,5V = relé ligado) e para desligá-lo definir o pino CH1 como nível lógico alto (2,5V – 5V = relé desligado).
Para projetos de controle do acionamento de vários equipamentos é recomendada a utilização de relés de estado sólido com um maior número de canais. Cada canal é capaz de controlar um equipamento.
Agora que já conhecemos o módulo relé de estado sólido de um canal, vamos utilizá-lo com o Arduino.
MATERIAIS NECESSÁRIOS
- 1 x Placa UNO SMD R3 Atmega328 compatível com Arduino UNO;
- 1 x Cabo USB;
- 1 x Lâmpada com receptáculo / boquilha;
- 1 x Módulo relé/relay Estado Sólido 5v de 1 canal;
- 1 x Cabo paralelo de 1,5 mm ou 2,5 mm;
- Tomada de 220 V ou 127 V;
- Fios de jumper macho-macho;
- Fios de jumper macho-fêmea.
ESQUEMÁTICO DE FUNCIONAMENTO
Inicialmente, certifique-se de que a sua placa Arduino esteja desligada. Em seguida, monte o circuito da Figura 3 utilizando o sensor módulo relé e os jumpers.
A montagem do circuito desde projeto exige maior atenção, visto que trabalharemos com tensão e corrente alternada (127 ou 220 VAC). Desta forma, faça todas as ligações com o circuito completamente desligado e verifique cada uma das ligações antes de testar, a fim de evitar qualquer possibilidade de curto-circuito ou choque. Caso você não possua experiência com esse tipo de montagem contrate um eletricista.
Ao montar o circuito observe os seguintes pontos:
- Não toque no módulo relé quando ele estiver energizado;
- O pino DC- do relé deve ser conectado ao GND do Arduino;
- O pino DC+ do relé deve ser alimentado pelo 5V do Arduino;
- O pino CH1 do relé deve ser conectado ao pino digital 8 do Arduino;
- Utilize o cabo paralelo de 1,5 mm ou 2,5 mm para interligar o módulo relé a carga (lâmpada);
- Volte e confira se você montou tudo como explicado.
ELABORANDO O CÓDIGO
Após a montagem do circuito, vamos programação do Sketch no Arduino IDE. Nesse projeto, vamos utilizar o sensor módulo relé sólido para acionar uma lâmpada com o Arduino. Acionaremos e desligaremos a lâmpada em intervalos de 5 segundos.
Vamos entender a lógica de programação deste projeto a partir dos seguintes passos:
1. Declarar a variável
Iniciamos o código declarando a variável pinRele que será utilizada para representar o pino 8 do Arduino.
2. Iniciar a comunicação serial e configurar a porta
Na função setup(), a comunicação serial foi inicializada por meio da instrução: Serial.begin(9600);.
Em seguida, definimos pinRele como pino de saída (OUTPUT).
3. Ligar e desligar a lâmpada conectada ao módulo
No loop(), por meio da função digitalWrite(pinRele, LOW) colocamos o pino 8 em nível baixo, ativando o relé e acionando a lâmpada. Em seguida, damos um intervalo de 5 segundo através da função delay(5000);.
Para desligar a lâmpada novamente usamos a função digitalWrite(pinRele, HIGH), colocando o pino 8 em nível alto, desativando o relé. Logo após, adicionamos um delay de 5 segundos.
Ao final, o Sketch deste projeto ficará da seguinte maneira:
/* - MÓDULO RELÉ DE ESTADO SÓLIDO COM ARDUINO - ================================================= === BLOG DA ROBOTICA - www.blogdarobotica.com === ================================================= Autor: Jonas Souza E-mail: contato@blogdarobotica.com Facebook: facebook.com/blogdarobotica Instagram:@blogdarobotica YouTube: youtube.com/user/blogdarobotica ================================================= === CASA DA ROBOTICA - www.casadarobotica.com === ================================================= Facebook: facebook.com/casadaroboticaoficial Instagram:@casadarobotica ================================================= */ int pinRele = 5; //Definição do pino de controle do relé void setup() { Serial.begin(9600); //Inicialização da comunicação serial pinMode(pinRele, OUTPUT); //Define o pino de controle do relé como saída } void loop() { digitalWrite(pinRele, LOW); //Define o pino de controle do relé como nível lógico baixo (LOW) acionando a carga Serial.println("Lâmpada ligada"); //Imprime mensagem no monitor serial delay(5000); //Intervalo de 5 segundos digitalWrite(pinRele, HIGH); //Define o pino de controle do relé como nível lógico alto (HIGH) desligando a carga Serial.println("Lâmpada desligada"); //Imprime mensagem no monitor serial delay(5000); //Intervalo de 5 segundos }
A informação de que a lâmpada se encontra ligada ou desligada pode ser observada no monitor serial, conforme a Figura 4.
Espero ter ajudado,
Obrigado a todos e em caso de dúvidas deixe seu comentário abaixo!
Att. Jonas Souza
Graduando em Engenharia Elétrica.