Codice Arduino e video per il controllo di un relè via USB dalla riga di comando di PowerShell
In questo tutorial esploreremo come controllare un relè usando un Arduino e un modulo USB-UART, il tutto tramite comandi di Windows PowerShell. Questa configurazione consente di accendere e spegnere una luce a distanza inviando comandi specifici tramite la riga di comando. Alla fine di questa guida avrai un sistema funzionante in grado di controllare dispositivi in corrente alternata (AC) in modo sicuro ed efficace.

Utilizzeremo le capacità di comunicazione seriale dell'Arduino per ascoltare i comandi inviati da PowerShell. I comandi specifici utilizzati saranno numeri interi che corrispondono all'accensione e allo spegnimento del relè. Questo progetto richiede una gestione attenta della tensione AC, quindi devono essere osservate precauzioni di sicurezza durante l'intero processo. Per ulteriori chiarimenti, assicurati di guardare il video completo (nel video a :00).
Hardware spiegato
I componenti principali coinvolti in questo progetto includono la scheda Arduino, il modulo USB-UART e il relè. L'Arduino funge da cervello dell'operazione, elaborando i comandi seriali e controllando di conseguenza il relè. Il modulo USB-UART facilita la comunicazione tra l'Arduino e il tuo computer, consentendo l'inserimento dei comandi tramite PowerShell.
Il relè funge da interruttore che controlla il flusso di elettricità verso la luce. Quando il relè è attivato, chiude il circuito, permettendo alla corrente di fluire e alla luce di accendersi. Quando è disattivato, apre il circuito, interrompendo l'alimentazione e spegnendo la luce. Questo permette il controllo sicuro di dispositivi ad alta tensione da un sistema a bassa tensione.
Dettagli della scheda tecnica
| Produttore | FTDI |
|---|---|
| Numero di parte | FT232R |
| Tensione logica/I/O | 3.3 V / 5 V |
| Tensione di alimentazione | 4.5 V a 5.5 V |
| Corrente di uscita (per canale) | 50 mA |
| Corrente di picco (per canale) | 100 mA |
| Linee guida sulla frequenza PWM | Non applicabile |
| soglie logiche di ingresso | 0.3 V (basso), 0.7 V (alto) |
| Caduta di tensione / RDS(on)/ saturazione | 0,5 V max |
| Limiti termici | 125 °C |
| Pacchetto | 32 LQFP |
| Note / varianti | Convertitore da USB a UART |
- Assicurati che i livelli di tensione siano appropriati per il relè e il modulo UART.
- Usare un dissipatore di calore se il relè dovrà gestire carichi elevati.
- Ricontrollare tutte le connessioni prima di alimentare il sistema.
- Tenere il modulo lontano dall'umidità e dai materiali conduttivi.
- Utilizzare una massa comune per tutti i componenti per evitare picchi di tensione.
Istruzioni per il cablaggio


Inizia collegando il pin VCC del modulo relè al pin 5V dell'Arduino. Successivamente, collega il pin GND del relè a uno dei pin di massa (GND) dell'Arduino. Il pin di controllo (etichettato come IN o simile) del relè dovrebbe essere collegato al pin digitale 8 dell'Arduino.
Per il modulo USB-UART, collega il pin TX al pin RX dell'Arduino e il pin RX del modulo al pin TX dell'Arduino. Assicurati di collegare il pin di massa (GND) del modulo USB alla stessa massa dell'Arduino per garantire un riferimento comune. Questa configurazione consente una comunicazione fluida tra l'Arduino e il tuo computer tramite PowerShell.
Esempi di codice e guida passo 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
In questo estratto, definiamo la variabileRX_Valueper contenere il comando ricevuto dal monitor seriale. Ilrelayè impostato sul pin 8 e definiamo due comandi:comONper accendere la luce ecomOFFper spegnerlo.

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
}
Nelsetup()Nella funzione inizializziamo la comunicazione seriale a 9600 baud, che deve corrispondere alle impostazioni in PowerShell. Il pin del relè è configurato come uscita e lo impostiamo su HIGH per assicurarci che il relè sia spento all'avvio del programma.

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
}
}
Questo frammento di codice dimostra come il programma ascolta i dati seriali in arrivo. Se viene ricevuto un comando che corrispondecomON, il relè viene attivato, accendendo la luce. Al contrario, secomOFFViene ricevuto, il relè viene disattivato, spegnendo la luce. Questo ciclo continua, consentendo un controllo reattivo da PowerShell.
Dimostrazione / Cosa aspettarsi
Quando la configurazione è completa e il codice è stato caricato, dovresti essere in grado di aprire PowerShell e inviare i comandi per controllare la luce. Digitando il comando corrispondente il relè dovrebbe attivarsi immediatamente, accendendo o spegnendo la luce come desiderato. Fai attenzione quando maneggi dispositivi in corrente alternata, assicurandoti che durante i test non siano esposti fili sotto tensione.
Marcatori temporali del video
- 00:00- Introduzione e panoramica del progetto
- 02:30- Spiegazione del cablaggio
- 05:00- Revisione del codice
- 08:15- Dimostrazione di un comando PowerShell
- 10:45- Conclusione e consigli di sicurezza
Cose di cui potresti avere bisogno
-
Amazon
-
Amazon
-
eBay
-
AliExpressPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
File Fritzing
-
4-Channel 5v Relay module
application/zip0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
application/zip0.01 MB
Altri file
-
Power Script to control relay over USB
robojax-usb-relay-powershell_scripts.zip