USB経由でPowerShellのコマンドラインからリレーを制御するためのArduinoコードとビデオ
このチュートリアルでは、Arduino と USB to UART モジュールを使い、Windows PowerShell のコマンドだけでリレーを制御する方法を解説します。この構成により、コマンドラインから特定のコマンドを送信してライトを遠隔でオン・オフできます。ガイドの終わりまでには、交流(AC)機器を安全かつ効果的に制御できる実用的なシステムが完成します。

Arduinoのシリアル通信機能を利用して、PowerShellから送信されるコマンドを受信します。使用するコマンドはリレーのオン・オフに対応する整数です。このプロジェクトでは交流電圧の取り扱いに細心の注意が必要なため、作業中は常に安全対策を行ってください。追加の説明は、必ず本編動画(00:00)をご覧ください。
ハードウェア解説
このプロジェクトで使用される主な構成要素は、Arduinoボード、USB‑UART変換モジュール、およびリレーです。Arduinoはシステムの頭脳として機能し、シリアルコマンドを処理してそれに応じてリレーを制御します。USB‑UART変換モジュールはArduinoとコンピュータ間の通信を仲介し、PowerShellを通じたコマンド入力を可能にします。
リレーは照明への電流の流れを制御するスイッチとして機能します。リレーが作動すると回路を閉じ、電流が流れて照明が点灯します。作動解除されると回路を開いて電力を遮断し、照明が消灯します。これにより、低電圧システムから高電圧機器を安全に制御することができます。
データシートの詳細
| 製造者 | FTDI(フューチャー・テクノロジー・デバイセズ・インターナショナル) |
|---|---|
| 部品番号 | FT232R |
| ロジック/入出力電圧 | 3.3 V / 5 V |
| 電源電圧 | 4.5 V~5.5 V |
| チャンネルごとの出力電流 | 50 mA |
| ピーク電流(チャネルあたり) | 100 mA |
| PWM周波数に関するガイダンス | 該当なし |
| 入力ロジックの閾値 | 0.3 V(低)、0.7 V(高) |
| 抵抗Rにかかる電圧降下ドレイン・ソース間のオン抵抗/ 彩度 | 最大0.5 V |
| 熱的限界 | 摂氏125度 |
| パッケージ | 32ピン LQFP |
| 備考 / バリエーション | USB-UARTコンバータ |
- リレーとUARTモジュールの適切な電圧レベルを確保してください。
- リレーが高負荷で動作することが想定される場合は、ヒートシンクを使用してください。
- システムの電源を入れる前に、すべての接続を再確認してください。
- モジュールを湿気や導電性のある物質から離しておいてください。
- 電圧スパイクを避けるため、すべてのコンポーネントで共通の接地を使用してください。
配線手順


まずリレーモジュールのVCCピンをArduinoの5Vピンに接続します。次にリレーのGNDピンをArduinoのグラウンド(GND)ピンのいずれかに接続します。リレーの制御ピン(INなどと表記されているもの)はArduinoのデジタルピン8に接続してください。
USB to UARTモジュールでは、モジュールのTXピンをArduinoのRXピンに、モジュールのRXピンをArduinoのTXピンに接続してください。USBモジュールのGNDピンをArduinoと同じグランドに接続して共通の基準電位を確保することを忘れないでください。この設定により、PowerShellを介してArduinoとコンピュータ間でシームレスに通信できます。
コード例と解説
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
この抜粋では、変数を定義します。RX_Valueシリアルモニタから受信したコマンドを保持するために。そのrelayピン8に設定され、2つのコマンドを定義します:comON明かりをつけるために、そしてcomOFFそれをオフにするために。

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
}
その中でsetup()関数内でシリアル通信を9600ボーで初期化します。これはPowerShellの設定と一致させる必要があります。リレーピンは出力として設定し、プログラム起動時にリレーがオフになるようにHIGHに設定します。

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
}
}
このコードスニペットは、プログラムが着信するシリアルデータを待ち受ける方法を示しています。もし一致するコマンドが受信された場合comON、リレーが作動し、ライトが点灯します。逆に、もしcomOFF受信されると、リレーは無効化されてライトが消灯します。このループは続き、PowerShellからの応答性の高い制御を可能にします。
デモンストレーション/当日の流れ
セットアップが完了しコードがアップロードされると、PowerShellを開いてライトを制御するコマンドを送信できるはずです。対応するコマンドを入力すれば、リレーが即座に作動してライトを希望どおりに点灯・消灯します。交流機器を扱う際は注意し、テスト中に通電中の配線が露出していないことを確認してください。
動画のタイムスタンプ
- 00:00- プロジェクトの紹介と概要
- 午前02:30- 配線の説明
- 05:00- コードウォークスルー
- 08:15- PowerShell コマンドの実演
- 10:45- まとめと安全上の注意事項
必要かもしれないもの
-
アマゾン
-
アマゾン
-
イーベイ
-
アリエクスプレスPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
リソースと参考文献
まだリソースはありません。
ファイル📁
フリッツィングファイル
-
4-Channel 5v Relay module
application/zip0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
application/zip0.01 MB
他のファイル
-
このモジュールはどこで買えますか?
robojax-usb-relay-powershell_scripts.zip