Arduino: controlando um relé diretamente, usando o programa de exemplo Blink
Controlar um relé diretamente pelo Arduino, sem shield nem módulo, é mais fácil do que parece, quando nos limitamos aos procedimentos básicos. Mas este artigo vai precisar de parte II...
O relé é um componente que me fascina um pouco. No início dos anos 1990 eu trabalhava em um laboratório de pesquisa em telecomunicações, e de vez em quando precisava visitar os ambientes onde, naquela época de implantação crescente das centrais digitais, ainda funcionavam várias centrais telefônicas eletromecânicas, em que as ligações eram completadas por relés, e o seu ruído inconfundível – multiplicado por milhares – preenchia o ambiente.
Existem vários shields e módulos de relé para Arduino, e eu até encomendei algum para uso futuro. Mas trata-se de um componente cujo acionamento básico é bem simples, e assim eu preferi ter o meu primeiro contato com ele de modo direto, com um relé operado a 5V, de modo a poder usar a corrente do próprio Arduino na operação, sem demandar uma fonte externa para o experimento.
Na sua essência, o relé é a chave que liga/desliga um circuito Y, a partir do seu acionamento feito pelo circuito X. Os circuitos X e Y não têm contato elétrico entre si, e é assim que frequentemente o relé vira a solução para que um circuito de baixa corrente ou tensão ligue ou desligue outro que seja de maior capacidade. Por exemplo, ao virar a chave do carro, tipicamente um circuito de pequena corrente liga o relé que aciona o potente motor de arranque.
Primeiro contato com os relés
Hoje resolvi ter um contato inicial com o controle dos relés, ativando um exemplo bem básico, em que o Arduino controla 2 leds conectados – por meio de um relé – a uma bateria de 9V. Os circuitos do Arduino (alimentado pela USB) e dos leds (alimentados pela bateria) jamais fecham conexão entre si.
No caso deste experimento, o relé atua no papel de intermediário entre os 2 circuitos: na prática, logo veremos que ele é uma chave no circuito dos leds, e essa chave é acionada pelo circuito do Arduino.
Eu ainda vou revisitar esse tema, trazendo as necessárias proteções (geralmente uma dobradinha de diodo e transistor) que ficam entre o Arduino e o relé para evitar sobrecargas que podem surgir como efeito colateral do seu uso. Hoje, como o objetivo é familiarização rápida com o componente, provavelmente será a única vez na vida em que vou fazer um circuito com relé assim simples...
Descrevendo o circuito
O circuito do experimento será montado com um Arduino Uno, uma breadboard, uma bateria de 9V, um relé, 2 leds e 2 resistores de 330Ω, além dos jumpers e outros conectores necessários (inclusive o que conecta a bateria de 9V à breadboard).
A imagem acima mostra um esquema simplificado do circuito. No quadro vermelho estão os únicos pinos do Arduino que serão usados: 13 (o mesmo que é conectado fisicamente ao led interno do Arduino Uno) e GND (o terra). No quadro verde à direita, os 2 terminais da bateria de 9V. E o quadro amarelo no centro mostra o relé conectado separadamente aos 2 circuitos, com o Arduino na parte controladora e os leds na parte controlada.
Usualmente os circuitos que envolvem relés e os sensíveis pinos de microcontroladores incluem elementos de proteção. Eles foram apresentados no artigo seguinte, este que você está lendo trata apenas do funcionamento básico do componente, e você não deveria repetir o mesmo experimento, pois envolve risco para o seu Arduino. Leia, entenda, e deixe para repetir o do artigo a seguir: Controlando um relé no Arduino com segurança: Blink, diodo e transistor.
O relé que eu usei é o SRD-05VDC-SL-C, que tem 5 terminais, sendo 2 deles (C1 e C2) os controladores da chave operada pelo circuito do Arduino, 1 deles (IN) o de entrada de corrente do circuito da bateria 9V, e os outros 2 são os de saída dessa corrente: se a chave estiver aberta, a corrente da bateria sai pelo terminal NC e, caso a chave esteja fechada, ela sairá pelo terminal NO1.
Trata-se de um relé eletromecânico tradicional: se houver corrente entre C1 e C2 (os terminais conectados ao Arduino), um eletroimã faz fechar a chave, e aí haverá corrente do outro circuito passando entre IN e NO. Quando não há corrente entre C1 e C2, a chave fica aberta, e haverá corrente do outro circuito passando entre IN e NC.
Arduino controlando o relé
A esta altura você já deve ter montado todo o circuito na sua cabeça, certo? O charme dele é ter usado o pino 13 do Arduino, conectado ao seu led interno: com isso, basta rodar o programa de exemplo Blink, fornecido com o Arduino e que faz piscar continuamente o seu led interno, que teremos uma origem contínua de aberturas e fechamentos para a chave do nosso relé, já que seu terminal C1 está ligado ao pino 13 (que acompanha o estado do led interno do Arduino) e seu terminal C2 está ligado ao terra (pino GND do Arduino)2.
O outro lado do circuito é também simples de descrever: temos 2 leds, cada um deles com sua perna menor conectada a um resistor de 330Ω ligado ao terra da bateria de 9V, e sua perna maior conectada a um dos conectores de saída do relé (NO e NC). O terminal IN do relay é conectado ao positivo (Vcc) da bateria.
O funcionamento é o decorrente das explicações acima: quando o led interno do Arduino acende em decorrência do Blink, há corrente no pino 13, e assim – graças às nossas conexões – passa corrente entre os terminais C1 e C2 do relé, fechando sua chave e acendendo o led conectado ao seu terminal NO. Quando o led interno do Arduino se apaga, deixa de passar corrente entre C1 e C2, e a chave do relé abre, acendendo o led conectado ao terminal NC.
Em breve pretendo voltar a esse exemplo de forma mais aprofundada, usando transistor e diodo para proteger o Arduino dos males que o relé pode lhe causar. Quem sabe eu monto um controle para o meu ventilador, acionado por um sensor de presença? Até breve!
Comentar