Código Arduino e vídeo para controle de relé via USB pela linha de comando do PowerShell
Neste tutorial, vamos explorar como controlar um relé usando um Arduino e um módulo USB para UART, tudo por meio de comandos do Windows PowerShell. Essa configuração permite ligar e desligar uma luz remotamente enviando comandos específicos pela linha de comando. Ao final deste guia, você terá um sistema funcional que pode controlar dispositivos AC com segurança e eficácia.

Utilizaremos as capacidades de comunicação serial do Arduino para escutar comandos enviados pelo PowerShell. Os comandos específicos serão números inteiros que correspondem a ligar e desligar o relé. Este projeto exige manuseio cuidadoso de tensão AC, portanto precauções de segurança devem ser observadas durante todo o processo. Para esclarecimentos adicionais, não deixe de assistir ao vídeo completo (no vídeo em :00).
Hardware Explicado
Os principais componentes envolvidos neste projeto incluem a placa Arduino, o módulo USB para UART e o relé. O Arduino atua como o cérebro da operação, processando comandos seriais e controlando o relé de acordo. O módulo USB para UART facilita a comunicação entre o Arduino e o seu computador, permitindo a entrada de comandos através do PowerShell.
O relé serve como um interruptor que controla o fluxo de eletricidade para a lâmpada. Quando o relé é ativado, ele fecha o circuito, permitindo que a corrente flua e a lâmpada acenda. Quando desativado, ele abre o circuito, cortando a alimentação e desligando a lâmpada. Isso permite o controle seguro de dispositivos de alta tensão a partir de um sistema de baixa tensão.
Detalhes da ficha técnica
| Fabricante | FTDI |
|---|---|
| Número da peça | FT232R |
| Tensão lógica/E/S | 3.3 V / 5 V |
| Tensão de alimentação | 4.5 V a 5.5 V |
| Corrente de saída (por canal) | 50 mA |
| Corrente de pico (por canal) | 100 mA |
| Orientação sobre a frequência PWM | Não aplicável |
| Limiares de lógica de entrada | 0.3 V (baixo), 0.7 V (alto) |
| Queda de tensão / RDS(on)/ saturação | 0.5 V máx. |
| Limites térmicos | 125 °C |
| Pacote | LQFP de 32 pinos |
| Notas / variantes | Conversor USB para UART |
- Garanta níveis de tensão adequados para o relé e o módulo UART.
- Use um dissipador de calor se o relé tiver de suportar cargas elevadas.
- Verifique duas vezes todas as conexões antes de energizar o sistema.
- Mantenha o módulo afastado da umidade e de materiais condutores.
- Utilize um aterramento comum para todos os componentes para evitar picos de tensão.
Instruções de fiação


Comece conectando o pino VCC do módulo de relé ao pino 5V do Arduino. Em seguida, conecte o pino GND do relé a um dos pinos de terra do Arduino. O pino de controle (rotulado como IN ou similar) do relé deve ser conectado ao pino digital 8 do Arduino.
Para o módulo USB para UART, conecte o pino TX ao pino RX do Arduino e o pino RX do módulo ao pino TX do Arduino. Certifique-se de conectar o pino GND do módulo USB ao mesmo GND do Arduino para garantir uma referência comum. Essa configuração permite uma comunicação contínua entre o Arduino e seu computador através do PowerShell.
Exemplos de código e guia passo a passo
byte RX_Value = 0; // stores received byte
#define relay 8 // pin 8 for relay
int comON = 6; // code to turn ON the light
int comOFF = 2; // code to turn OFF the light
Neste trecho, definimos a variávelRX_Valuepara armazenar o comando recebido do monitor serial. Orelayestá definido no pino 8, e definimos dois comandos:comONpara ligar a luz ecomOFFpor desligá-lo

void setup() {
Serial.begin(9600); // Start serial communication at 9600 baud
pinMode(relay, OUTPUT); // Set relay pin as output
digitalWrite(relay, HIGH); // Turn the relay OFF initially
}
Nosetup()Na função, inicializamos a comunicação serial a 9600 baud, que deve corresponder às configurações no PowerShell. O pino do relé é configurado como saída e o definimos como HIGH para garantir que o relé esteja desligado quando o programa for iniciado.

if (Serial.available()) {
RX_Value = Serial.read(); // Read the incoming byte
if (RX_Value == comON) {
digitalWrite(relay, LOW); // Turn the relay ON
} else if (RX_Value == comOFF) {
digitalWrite(relay, HIGH); // Turn the relay OFF
}
}
Este trecho de código demonstra como o programa escuta dados seriais de entrada. Se um comando for recebido que correspondacomON, o relé é ativado, ligando a luz. Por outro lado, secomOFFQuando é recebido, o relé é desativado, desligando a luz. Esse loop continua, permitindo controle responsivo a partir do PowerShell.
Demonstração / O que esperar
Quando a configuração estiver concluída e o código carregado, você deverá conseguir abrir o PowerShell e enviar os comandos para controlar a luz. Digitar o comando correspondente deverá acionar imediatamente o relé, ligando ou desligando a luz conforme desejado. Tenha cuidado ao manusear dispositivos de corrente alternada, garantindo que nenhum fio energizado fique exposto durante os testes.
Marcas de tempo do vídeo
- :00- Introdução e visão geral do projeto
- 02:30- Explicação da fiação
- 05:00- Revisão de código
- 08:15- Demonstração de comando do PowerShell
- 10:45- Conclusão e dicas de segurança
Coisas que você pode precisar
-
Amazonas
-
Amazonas
-
eBay
-
AliExpressPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
Recursos e referências
Ainda não há recursos.
Arquivos📁
Arquivo Fritzing
-
4-Channel 5v Relay module
application/zip0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
application/zip0.01 MB
Outros arquivos
-
Onde comprar este módulo?
robojax-usb-relay-powershell_scripts.zip