Arduino用4チャネルソリッドステートリレー
このプロジェクトガイドでは、Arduinoを使用して4チャネルのソリッドステートリレー(SSR)モジュールを制御する方法を示します。このセットアップにより、バルブや小型家電など、最大で4つの独立したAC負荷を機械的接点や可聴のクリック音なしで切り替えることができます。これは、家庭の照明の自動化、スマート電源コンセントの作成、産業用制御パネルの構築、安全で静かな方法での加熱要素の管理に最適です。このガイドの終わりまでに、独自のAC制御プロジェクトを実現するために必要なハードウェア、配線、およびコードを理解できるようになります。

ハードウェアコンポーネント
- Arduino Uno(または互換性のあるボード)
- 4チャネルソリッドステートリレーモジュール(OMRON G3MB-202Pに基づく)
- 4つのAC電球またはその他のAC負荷(モジュールの定格内)
- ジャンパーワイヤー(デュポンコネクタ推奨)
- AC電源コードとプラグ(負荷用)
- ブレッドボード(オプション、プロトタイピング用)
配線ガイド
始める前に、危険なACメイン電圧で作業していることを常に念頭に置いておくことが重要です。接続を行う前に、必ず電源を切ってください。電源が入っている間は、モジュールやその接続部分に決して触れないでください。ショートサーキットを防ぐために、モジュールはプラスチックや木などの非導電性の表面に置いてください。(動画の00:32)
このプロジェクトの配線は簡単です。このモジュールには2つの面があります:低電圧の制御側と高電圧の負荷側です。制御側には、電源用のDC+とDC-ピン、CH1、CH2、CH3、CH4とラベル付けされた4つの入力ピンがあります。これらはArduinoに次のように接続されます:
- DC+Arduinoへ5V
- DC-Arduinoへ空気接地
- CH1Arduinoデジタルピンへ2
- CH2Arduinoデジタルピンへ3
- CH3Arduinoデジタルピンへ4
- CH4Arduinoのデジタルピンへ5
負荷側では、各リレー チャンネルに 2 つのネジ端子があります。負荷を接続するには、AC電源のワイヤの 1 本を切断し、その両端をこれらの端子に接続する必要があります。リレーはスイッチとして機能し、回路を接続または切断します。(動画内 04:12) 4 つの負荷それぞれについて、その 2 本のワイヤを対応するチャンネルの端子に接続します。以下の図は、このセットアップを示しており、左側に Arduino ピン、右側に AC 負荷が接続されています。

コードの説明
このプロジェクトに提供されたArduinoコードは、設定を簡単にするように設計されています。ユーザーが設定可能な主要な部分はスケッチの上部にあります。(動画の06:12にて)
最初に、リレーモジュールに接続されているピンを定義します。
int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR次に、トリガータイプを特定のモジュールに合わせて設定する必要があります。コードはハイトリガーとロートリガーのモジュールの両方をサポートしています。どちらのタイプを持っているか不明な場合は、モジュールのラベルまたは製品リストを確認してください。(ビデオの06:48にて)
int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used最後に、デモループで使用するデフォルトの遅延時間を調整できます:
int wait = 2000;// delay timeコードにはカスタム関数が含まれています。contrlSSR()各リレーを制御するのを簡素化します。使用するには、3つのパラメータを提供します:リレー番号(1-4)、アクション(ssrONまたはssrOFF)、およびその状態を保持するミリ秒単位の時間。たとえば、contrlSSR(1, ssrON, 5000);リレー1を5秒間オンにします。この機能は、高レベルのコマンドを特定のトリガータイプに対する正しいデジタル信号に変換するロジックを処理します。(動画の08:58)
ライブプロジェクトデモンストレーション
デモでは、コードが最初に実行され、単一チャネルの基本的なオン/オフシーケンスが示されます。モジュール上のLEDが点灯すると、対応するAC電球が点灯します。(ビデオの12:31にて) 次に、コードが修正され、複数のチャネルをシーケンスで制御し、一つずつオンとオフを切り替えることが示されます。これは、さまざまな自動化パターンを作成するためのセットアップの柔軟性を示しています。(ビデオの12:51にて) 最後に、ループが使用されてすべての4つのチャネルをサイクルし、各チャネルをオンにしてからオフにします。(ビデオの13:12にて)
章
- [00:00] 4チャンネルSSRプロジェクトの紹介
- [00:32] ACを取り扱う際の安全警告
- [01:10] SSRモジュール仕様の理解
- [02:18] モジュールピンアウトとコネクタ
- [04:12] AC負荷の準備と接続
- モジュールをArduinoに接続する[05:34]
- [06:12] コードの設定と説明
- [08:58] contrlSSR()関数を使用する
- [12:31] ライブデモンストレーションとテスト
- [14:01] 結論と追加リソース
++
/*
* This is code to control 4-channel Solid State Relay (SSR) modules using Arduino.
* Written by Ahmad Shamshiri for Robojax.com
* on January 11, 2019 at 21:03 in Ajax, Ontario, Canada.
Watch instruction video for this code: https://youtu.be/Rfaz5qOLKYQ
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR
int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used
int wait = 2000;// delay time
int ssrON, ssrOFF;// used for two different SSR trigger type. Do not change
void setup() {
Serial.begin(9600);// prepare Serial monitor
// set pins as output
if(triggerType)
{
ssrON = HIGH;
ssrOFF = LOW;
}else{
ssrON = LOW;
ssrOFF = HIGH;
}
for(int i=0; i < 4; i++)
{
pinMode(ssr[i], OUTPUT);// sent i(th) pin as output
digitalWrite(ssr[i], ssrOFF); // Turn the SSR OFF
}
Serial.println("Robojax 4 SSR ");
}
void loop() {
// this is just a demo
for(int i=0; i < 4; i++)
{
contrlSSR(i+1, ssrON, 2000); // turn SSRs one by one ON
}// for loop
for(int i=0; i < 4; i++)
{
contrlSSR(i+1, ssrOFF, 1000); // turn SSRs one by one OFF
}// for loop
contrlSSR(1, ssrON, 2000); // turn SSR1 ON for 2 seconds
contrlSSR(2, ssrON, 3000);// turn SSR2 ON for 3 seconds
contrlSSR(4, ssrON, 2000);// turn SSR4 ON for 2 seconds
contrlSSR(1, ssrOFF, 0); // turn ssr1 OFF
contrlSSR(4, ssrOFF, 0);// turn ssr4 OFF
contrlSSR(2, ssrOFF, 0);// turn ssr2 OFF
delay(2000);
Serial.println("====== loop done ==");
}// loop
/*
* contrlSSR turns OFF or ON SSR
* January 11, 2019
* @param is an integer, SSR number starts with 1
* @param control should be ssrON or ssrOFF
* @param wait is a number in milliseconds.
*
*/
void contrlSSR(int number, int control, int wait)
{
if(control == HIGH)
{
Serial.print("SSR "); Serial.print(number);Serial.println(" ON");
digitalWrite(ssr[number-1], ssrON); // Turn the SSR ON
delay(wait);
}else{
Serial.print("SSR "); Serial.print(number);Serial.println(" OFF");
digitalWrite(ssr[number-1], ssrOFF); // Turn the SSR OFF
delay(wait);
}
}
必要かもしれないもの
-
アマゾンSolid State relay on Amazonamzn.to
-
イーベイ
-
アリエクスプレスSolid State relay 1ch 2ch 4ch and 8ch on AliExpresss.click.aliexpress.com
-
アリエクスプレスSolid State relay 1ch 2ch 4ch and 8ch on AliExpress-2s.click.aliexpress.com
リソースと参考文献
まだリソースはありません。
ファイル📁
フリッツィングファイル
-
ソリッドステート高レベルリレー モジュール
Solid State High Level Relay Module .fzpz0.04 MB
他のファイル
-
GM3Bソリッドステートリレーのデータシート
robojax-solid-state-relay_G3MB.pdf0.31 MB