Code Arduino et vidéo pour le contrôle d'un relais via USB depuis la ligne de commande PowerShell
Dans ce tutoriel, nous allons explorer comment contrôler un relais en utilisant un Arduino et un module USB vers UART, le tout via des commandes Windows PowerShell. Cette configuration vous permet d'allumer et d'éteindre une lumière à distance en envoyant des commandes spécifiques via la ligne de commande. À la fin de ce guide, vous disposerez d'un système fonctionnel capable de contrôler des appareils en courant alternatif de manière sûre et efficace.

Nous utiliserons les capacités de communication série de l'Arduino pour écouter les commandes envoyées depuis PowerShell. Les commandes utilisées seront des entiers correspondant à l'activation et à la désactivation du relais. Ce projet nécessite une manipulation soigneuse de la tension alternative (AC) ; des précautions de sécurité doivent donc être respectées tout au long du processus. Pour plus de précisions, assurez-vous de regarder la vidéo complète (dans la vidéo à 00:00).
Matériel expliqué
Les principaux composants impliqués dans ce projet comprennent la carte Arduino, le module USB vers UART et le relais. L'Arduino fait office de cerveau de l'opération, traitant les commandes série et contrôlant le relais en conséquence. Le module USB vers UART facilite la communication entre l'Arduino et votre ordinateur, permettant la saisie de commandes via PowerShell.
Le relais sert d'interrupteur qui contrôle le flux d'électricité vers la lampe. Lorsqu'il est activé, il ferme le circuit, permettant au courant de circuler et à la lampe de s'allumer. Lorsqu'il est désactivé, il ouvre le circuit, coupant l'alimentation et éteignant la lampe. Cela permet de contrôler en toute sécurité des appareils haute tension à partir d'un système basse tension.
Détails de la fiche technique
| Fabricant | FTDI |
|---|---|
| Numéro de pièce | FT232R |
| Tension logique/E/S | 3.3 V / 5 V |
| Tension d'alimentation | de 4,5 V à 5,5 V |
| Courant de sortie (par canal) | 50 mA |
| Courant de crête (par canal) | 100 mA |
| Recommandations de fréquence PWM | Sans objet |
| Seuils logiques d'entrée | 0.3 V (bas), 0.7 V (haut) |
| Chute de tension / RDS(en conduction) / saturation | 0,5 V max |
| Limites thermiques | 125 °C |
| Paquet | 32 LQFP |
| Notes / variantes | Convertisseur USB vers UART |
- Assurez-vous que les niveaux de tension du relais et du module UART sont corrects.
- Utilisez un dissipateur thermique si le relais doit supporter des charges élevées.
- Vérifiez soigneusement toutes les connexions avant de mettre le système sous tension.
- Maintenez le module à l'écart de l'humidité et des matériaux conducteurs.
- Utilisez une mise à la terre commune pour tous les composants afin d'éviter les pics de tension.
Instructions de câblage


Commencez par connecter la broche VCC du module de relais à la broche 5V de l'Arduino. Ensuite, connectez la broche GND du relais à l'une des broches de masse de l'Arduino. La broche de commande (étiquetée IN ou similaire) du relais doit être connectée à la broche numérique 8 de l'Arduino.
Pour le module USB vers UART, connectez la broche TX à la broche RX de l'Arduino et la broche RX du module à la broche TX de l'Arduino. Veillez à connecter la broche de masse (GND) du module USB à la même masse que celle de l'Arduino afin d'assurer une référence commune. Ce montage permet une communication transparente entre l'Arduino et votre ordinateur via PowerShell.
Exemples de code et tutoriel pas à pas
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
Dans cet extrait, nous définissons la variableRX_Valuepour stocker la commande reçue du moniteur série. Lerelayest défini sur la broche 8, et nous définissons deux commandes :comONpour allumer la lumière etcomOFFpour l'éteindre.

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
}
Dans lesetup()Dans la fonction, nous initialisons la communication série à 9600 bauds, ce qui doit correspondre aux paramètres dans PowerShell. La broche du relais est configurée en sortie, et nous la mettons à HIGH pour garantir que le relais est désactivé au démarrage du programme.

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
}
}
Cet extrait de code montre comment le programme écoute les données série entrantes. Si une commande est reçue qui correspondcomON, le relais est activé, allumant la lumière. Inversement, sicomOFFest reçu, le relais est désactivé, éteignant la lumière. Cette boucle se poursuit, permettant un contrôle réactif depuis PowerShell.
Démonstration / À quoi s'attendre
Une fois la configuration terminée et le code téléversé, vous devriez pouvoir ouvrir PowerShell et envoyer les commandes pour contrôler la lumière. La saisie de la commande correspondante devrait déclencher immédiatement le relais, allumant ou éteignant la lumière selon votre souhait. Soyez prudent lors de la manipulation d'appareils en courant alternatif, en veillant à ce qu'aucun fil sous tension ne soit exposé pendant les tests.
Horodatages vidéo
- 00:00- Introduction et aperçu du projet
- 02:30- Explication du câblage
- 05:00- Présentation du code
- 08:15- Démonstration d'une commande PowerShell
- 10:45- Conclusion et conseils de sécurité
Ce dont vous pourriez avoir besoin
-
Amazon
-
Amazon
-
eBay
-
AliExpressPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Fichier Fritzing
-
4-Channel 5v Relay module
application/zip0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
application/zip0.01 MB
Autres fichiers
-
Où acheter ce module ?
robojax-usb-relay-powershell_scripts.zip