Código Arduino para um módulo de relés de 4 para 16 canais 5V
Neste tutorial, aprenderemos como controlar um módulo de relés de 4 canais usando um Arduino. Isso permitirá que você gerencie cargas AC, como lâmpadas, ventiladores ou aquecedores, de forma segura e eficaz. O código fornecido pode ser adaptado para módulos com mais canais, tornando-o versátil para várias aplicações.
Antes de nos aprofundarmos nos detalhes, é essencial entender os componentes envolvidos neste projeto. O módulo de relé serve como um interruptor que pode controlar dispositivos de alta tensão enquanto é controlado por sinais de baixa tensão do Arduino. Cada relé pode ser normalmente aberto ou normalmente fechado, o que permite flexibilidade no funcionamento dos dispositivos conectados. Consulte o vídeo para orientação visual (aos 02:15).
Hardware explicado
Os principais componentes deste projeto incluem a placa Arduino e o módulo de relés. O Arduino atua como controlador, enviando sinais ao módulo de relés com base no código que escrevemos. O módulo de relés contém vários relés que podem ligar e desligar cargas AC. Cada relé possui três terminais: normalmente fechado (NC), normalmente aberto (NO) e um terminal comum (COM).
Quando o relé é ativado, o terminal comum conecta-se ao terminal normalmente aberto, permitindo que a corrente flua através da carga. Trata-se de um relé acionado por nível baixo, o que significa que ele é ativado quando recebe um sinal de baixa tensão (0V) e desativado com um sinal de alta tensão (5V). Compreender esse mecanismo é crucial para controlar com segurança dispositivos de corrente alternada.
Detalhes da ficha técnica
| Fabricante | Genérico |
|---|---|
| Número da peça | módulo de relés de 4 canais |
| Tensão lógica/E/S | 5 V |
| Tensão de alimentação | 5 V |
| Corrente de saída (por canal) | 10 A máx. |
| Corrente de pico (por canal) | 15 A |
| Orientação sobre a frequência PWM | Não aplicável |
| Limiares lógicos de entrada | Baixo: 0 V; Alto: 5 V |
| Queda de tensão / RDS(on)/ saturação | Não aplicável |
| Limites térmicos | 85 °C |
| Pacote | Módulo de relé padrão |
| Notas / variantes | Disponível em variantes de 2, 4, 8 e 16 canais |
- Certifique-se de que a corrente nominal do relé não seja excedida para evitar danos.
- Use fontes de alimentação separadas em aplicações de alta corrente para isolar o Arduino.
- Mantenha a dissipação de calor adequada dos relés durante a operação.
- Verifique a fiação cuidadosamente para evitar curtos-circuitos.
- Use optoacopladores, se necessário, para proteção adicional.
Instruções de fiação

Para ligar o módulo de relés ao seu Arduino, comece conectando o pino GND do módulo de relés ao pino GND do Arduino. Em seguida, conecte o pino VCC do módulo de relés ao pino 5V do Arduino. Para os pinos de controlo, conecte os pinos IN1, IN2, IN3 e IN4 do módulo de relés aos pinos digitais 2, 3, 4 e 5 do Arduino, respetivamente. Esta configuração permite que o Arduino controle o estado de cada relé.
Certifique-se de posicionar o módulo de relé sobre uma superfície isolante, pois ele lida com cargas AC. Se estiver usando uma fonte de alimentação externa para os relés, conecte o terra dessa fonte ao terra do Arduino para garantir uma referência comum. Isso é crucial para o funcionamento correto e para a segurança.
Exemplos de Código e Tutorial Passo a Passo
O trecho de código a seguir inicializa o número de relés e define os pinos de controle:
int ch = 4; // number of relays you have
int relay[]={2,3,4,5}; // Arduino pin numbers for relays
Isto define o número de relés e as conexões correspondentes aos pinos do Arduino. O arrayrelayarmazena os números dos pinos usados para controlar cada relé.

Em seguida, configuramos os pinos emsetup()função:
void setup() {
Serial.begin(9600); // prepare Serial monitor
for(i=0; i < ch; i++) {
pinMode(relay[i], OUTPUT); // set i(th) pin as output
digitalWrite(relay[i], HIGH); // Turn the relay OFF
}
Serial.println("Robojax 4 Relay Test");
}
Este código inicializa o monitor serial e define cada pino do relé como saída, deixando-os desligados por padrão. A instrução Serial.print confirma que a configuração foi concluída.
O loop principal do programa controla os relés:
void loop() {
for(int i=0; i < ch; i++) {
Serial.print("Relay "); Serial.print(i+1); Serial.println(" ON");
digitalWrite(relay[i], LOW); // Turn the relay ON
delay(wait);
}
for(int i=0; i < ch; i++) {
Serial.print("Relay "); Serial.print(i+1); Serial.println(" OFF");
digitalWrite(relay[i], HIGH); // Turn the relay OFF
delay(wait);
}
Serial.println("====== loop done ==");
}
Este laço primeiro liga cada relé um por um, aguarda um tempo especificado e então os desliga na mesma sequência. A saída serial ajuda a monitorar o estado dos relés em tempo real.
Demonstração / O que esperar
Ao executar o programa, você deverá ver os relés ativarem em sequência, ligando e desligando a cada dois segundos. Se tudo estiver ligado corretamente, as cargas CA conectadas aos relés responderão de acordo. Tenha cuidado com a corrente consumida pelo Arduino; se muitos relés forem ativados simultaneamente, isso pode exceder a capacidade da placa (no vídeo em 13:45).
Marcas de tempo do vídeo
- 00:00Introdução
- 02:15Explicação do hardware
- 05:30Instruções de fiação
- 08:45Explicação do código
- 13:45Demonstração
Coisas que você pode precisar
-
Amazonas
-
AliExpressComprar módulo de relé de canal 5v 12v 1 2 4 6 8 canaiss.click.aliexpress.com
Recursos e referências
Ainda não há recursos.
Arquivos📁
Arquivo Fritzing
-
módulo de relé de estado sólido SSR Omron 4 canais
omron-relay-module-4way-1.fzpz0.02 MB -
Módulo de relé 5v de 4 canais
4-Channel 5v Relay Shield.fzpz0.02 MB -
módulo de relé de estado sólido Omron SSR - 8 canais
omron-relay-module-8way-1.fzpz0.02 MB -
Parte Fritzing do Plugue CA (Robojax.com)
ACPlug_Robojax.com.fzpz