O relé é um interruptor eletromagnético operado por uma corrente relativamente pequena que é capaz de controlar uma corrente muito maior, ou seja, o módulo relé permite que o Arduino controle a alimentação de dispositivos que utilizem corrente alternada, como por exemplo, uma lâmpada de 110V. Os três pinos de entrada de baixa tensão (VCC, GND e IN), localizados em uma das extremidades do módulo, devem ser ligados ao arduino.
Os três terminais borne de alta tensão (COM "comum", NC "normalmente fechado" e NO "normalmente aberto"), localizados na outra extremidade, devem ser ligados ao equipamento que será controlado.
Apesar de possuírem três pinos, geralmente são utilizados apenas dois em conjunto, são eles: COMUM e um dos demais.
A escolha depende das características do projeto em questão.
O contato entre o terminal COM e o NC é fechado por padrão, o que significa que a corrente está fluindo entre eles. Ao ser enviado um sinal pelo Arduino (IN), a corrente será aberta.
O contato entre o terminal COM e o NO está aberto por padrão, o que significa que a corrente não está fluindo entre eles. Ao ser enviado um sinal pelo Arduino (IN), a mesma será fechada.
Esta módulo interage com corrente alternada de alta tensão. O uso incorreto ou inadequado pode resultar em ferimentos graves. Portanto, ela é destinada a pessoas com experiência e conhecimento sobre este tipo de corrente. Sempre utilizar equipamentos de segurança. Crianças não devem mexer com este tipo de tensão.
const int pinoRele = 6; //pino onde esta conectado o rele const int pinoBotao = 4; //pino onde esta conectado o botao int lamp = 0; //declarar variável que controla o estado do módulo relé (liga/desliga) void setup(){ pinMode(pinoRele, OUTPUT); //define o rele como saída pinMode(pinoBotao, INPUT); //define o botao como entrada digitalWrite(pinoRele, HIGH); //indica que o rele inicia desligado } void loop(){ //se o botao estiver pressionado (HIGH) e variável lamp for igual a 0 (desligado) if((digitalRead(pinoBotao) == HIGH) && (lamp == 0)){ digitalWrite(pinoRele, LOW); //liga o módulo relé (acende a lâmpada) lamp = 1; //variável recebe o valor 1(ligado) }else{ //se não, botao não pressionado if((digitalRead(pinoBotao) == LOW) && (lamp == 1)){ //se o botao não estiver pressionado (LOW) e variável lamp for igual a 1 (ligado) digitalWrite(pinoRele, HIGH); //desliga o módulo relé (apaga a lâmpada) lamp = 0; //variável recebe o valor 0 (desligado) } } }