Code Arduino et vidéo pour le contrôle d'un relais via USB depuis la ligne de commande PowerShell

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.

CP2102 usb to UART with relay

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

FabricantFTDI
Numéro de pièceFT232R
Tension logique/E/S3.3 V / 5 V
Tension d'alimentationde 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 PWMSans objet
Seuils logiques d'entrée0.3 V (bas), 0.7 V (haut)
Chute de tension / RDS(en conduction) / saturation0,5 V max
Limites thermiques125 °C
Paquet32 LQFP
Notes / variantesConvertisseur 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

Arduino wiring for FTDI usb with relay
Arduino wiring for FTDI usb with relay
Arduino wiring for CP2102 usb to UART with relay
Arduino wiring for CP2102 usb to UART with relay

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.

FT232-AZ-USB-to_TTL-serial-adapter
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.

Wirig relay module to AC load
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é

Images

Wirig relay module to AC load
Wirig relay module to AC load
FT232-AZ-USB-to_TTL-serial-adapter
FT232-AZ-USB-to_TTL-serial-adapter
Arduino wiring for FTDI usb with relay
Arduino wiring for FTDI usb with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
CP2102 usb to UART with relay
Arduino wiring for CP2102 usb to UART with relay
Arduino wiring for CP2102 usb to UART with relay
91-Arduino code to control a relay via USB from the command line using Windows PowerShell
Langue: C++
Copié !

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fichier Fritzing

Autres fichiers