Arduino-Code und Video zur Steuerung eines Relais über USB mit der PowerShell-Kommandozeile
In diesem Tutorial zeigen wir, wie man ein Relais mit einem Arduino und einem USB‑zu‑UART‑Modul steuert, und zwar ausschließlich über Windows PowerShell‑Befehle. Mit dieser Einrichtung können Sie eine Lampe aus der Ferne ein- und ausschalten, indem Sie bestimmte Befehle über die Kommandozeile senden. Am Ende dieses Leitfadens haben Sie ein funktionierendes System, das Wechselstromgeräte sicher und effektiv steuern kann.

Wir werden die serielle Kommunikationsfähigkeit des Arduino nutzen, um auf von PowerShell gesendete Befehle zu hören. Die verwendeten spezifischen Befehle sind Ganzzahlen, die dem Ein- und Ausschalten des Relais entsprechen. Dieses Projekt erfordert den sorgfältigen Umgang mit Wechselspannung, daher sind während des gesamten Ablaufs Sicherheitsvorkehrungen zu beachten. Zur zusätzlichen Klarstellung sehen Sie sich unbedingt das vollständige Video an (im Video bei 00:00).
Hardware erklärt
Die Hauptkomponenten dieses Projekts sind das Arduino-Board, das USB-zu-UART-Modul und das Relais. Das Arduino fungiert als Gehirn der Anlage und verarbeitet serielle Befehle, um das Relais entsprechend zu steuern. Das USB-zu-UART-Modul ermöglicht die Kommunikation zwischen dem Arduino und Ihrem Computer und erlaubt die Eingabe von Befehlen über PowerShell.
Das Relais dient als Schalter, der den Stromfluss zum Licht steuert. Wenn das Relais aktiviert wird, schließt es den Stromkreis, wodurch Strom fließt und das Licht eingeschaltet wird. Wird es deaktiviert, öffnet es den Stromkreis, unterbricht die Stromversorgung und schaltet das Licht aus. Dadurch ist die sichere Steuerung von Hochspannungsgeräten durch ein Niederspannungssystem möglich.
Details zum Datenblatt
| Hersteller | FTDI |
|---|---|
| Teilenummer | FT232R |
| Logik-/I/O-Spannung | 3.3 V / 5 V |
| Versorgungsspannung | 4,5 V bis 5,5 V |
| Ausgangsstrom (pro Kanal) | 50 mA |
| Spitzenstrom (pro Kanal) | 100 mA |
| Hinweise zur PWM-Frequenz | Nicht zutreffend |
| Eingangslogik-Schwellenwerte | 0.3 V (niedrig), 0.7 V (hoch) |
| Spannungsabfall / RDS(on) / Sättigung | 0,5 V max |
| Thermische Grenzwerte | 125 °C |
| Paket | 32 LQFP |
| Notizen / Varianten | USB-zu-UART-Konverter |
- Stellen Sie sicher, dass die Spannungspegel für das Relais und das UART-Modul korrekt sind.
- Verwenden Sie einen Kühlkörper, wenn das Relais voraussichtlich hohe Lasten bewältigen muss.
- Überprüfen Sie alle Verbindungen noch einmal, bevor Sie das System einschalten.
- Halten Sie das Modul von Feuchtigkeit und leitfähigen Materialien fern.
- Verwenden Sie eine gemeinsame Masse für alle Komponenten, um Spannungsspitzen zu vermeiden.
Verdrahtungsanleitung


Schließen Sie zunächst den VCC-Pin des Relaismoduls an den 5V-Pin des Arduino an. Verbinden Sie anschließend den GND-Pin des Relais mit einem der GND-Pins am Arduino. Der Steuerpin (beschriftet z. B. IN oder ähnlich) des Relais sollte mit dem digitalen Pin 8 des Arduino verbunden werden.
Für das USB-zu-UART-Modul verbinden Sie den TX-Pin mit dem RX-Pin des Arduino und den RX-Pin des Moduls mit dem TX-Pin des Arduino. Achten Sie darauf, den GND-Pin des USB-Moduls mit der Masse des Arduino zu verbinden, um eine gemeinsame Referenz sicherzustellen. Diese Konfiguration ermöglicht eine nahtlose Kommunikation zwischen dem Arduino und Ihrem Computer über PowerShell.
Codebeispiele & Schritt-für-Schritt-Anleitung
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 diesem Auszug definieren wir die VariableRX_Valueum den vom seriellen Monitor empfangenen Befehl zu halten. Derrelayist auf Pin 8 eingestellt, und wir definieren zwei Befehle:comONzum Einschalten des Lichts undcomOFFum es auszuschalten.

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
}
Imsetup()In der Funktion initialisieren wir die serielle Kommunikation mit 9600 Baud, die mit den Einstellungen in PowerShell übereinstimmen muss. Der Relais-Pin ist als Ausgang konfiguriert, und wir setzen ihn auf HIGH, um sicherzustellen, dass das Relais beim Programmstart ausgeschaltet ist.

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
}
}
Dieser Codeausschnitt zeigt, wie das Programm auf eingehende serielle Daten hört. Wenn ein Befehl empfangen wird, der übereinstimmtcomON, wird das Relais aktiviert, wodurch das Licht eingeschaltet wird. Umgekehrt, wenncomOFFWenn es empfangen wird, wird das Relais deaktiviert und das Licht ausgeschaltet. Diese Schleife läuft weiter und ermöglicht eine reaktive Steuerung über PowerShell.
Demonstration / Was Sie erwartet
Wenn die Einrichtung abgeschlossen ist und der Code hochgeladen wurde, sollten Sie PowerShell öffnen und die Befehle senden können, um das Licht zu steuern. Das Eingeben des entsprechenden Befehls sollte das Relais sofort auslösen und das Licht wie gewünscht ein- oder ausschalten. Seien Sie beim Umgang mit Wechselstromgeräten vorsichtig und stellen Sie sicher, dass während der Tests keine spannungsführenden Leitungen freiliegen.
Video-Zeitstempel
- 00:00- Einführung und Überblick über das Projekt
- 02:30- Erläuterung der Verdrahtung
- 05:00- Code-Durchgang
- 08:15- PowerShell-Befehlsdemonstration
- 10:45- Fazit und Sicherheitstipps
Dinge, die Sie vielleicht brauchen
-
Amazon
-
Amazon
-
eBay
-
AliExpressPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Fritzing-Datei
-
4-Channel 5v Relay module
application/zip0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
application/zip0.01 MB
Andere Dateien
-
Power Script to control relay over USB
robojax-usb-relay-powershell_scripts.zip