Relay Module JP: 두 판 사이의 차이

아두위키 : Arduwiki
(새 문서: {{#seo:|title=アドウィキ : Arduino リレーモジュールガイド|title_mode=append|keywords=Arduino, 情報科学, メイカー学習, パフォーマンス評価, リレーモジュール, Arduino作品, キャップストーンプロジェクト, Arduinoサンプルコード|description=Arduinoでリレーモジュールを制御する方法(基本情報、回路、サンプルコード)を紹介します。情報科学やメイカー授業に活用できます。...)
 
(차이 없음)

2025년 3월 27일 (목) 18:02 기준 최신판


Arduinoリレーモジュールは、Arduinoのようなマイクロコントローラを使って高電圧の装置を制御できる電子スイッチです。

低電圧の信号で高電圧の回路を開閉できるため、家庭用電化製品や産業機器の制御に利用されます。

構成要素

1. リレーモジュール:1つ以上のリレーと、それを制御するための電子回路で構成されます。

2. 制御ピン:Arduinoからの信号を受け取るピンです。

3. 接点(Contacts):電気的なスイッチ部分で、通常NO(通常開)、NC(通常閉)、COM(共通)に分類されます。

リレーの動作原理

電磁誘導の原理を利用して動作します。内部にあるコイルに電流が流れると磁力が発生し、内部スイッチが作動します。

1. Lowレベルトリガー:制御ピンに低電圧(通常0VまたはGND)を入力するとリレーが作動します。

2. Highレベルトリガー:制御ピンに高電圧(通常5V)を入力するとリレーが作動します。

使用するハードウェア

  • Arduino board
  • リレー
  • ジャンパーワイヤー
  • 抵抗
  • LED

使用例

1. 1チャンネルリレー

1チャンネルリレーの状態を3回切り替える例です。LEDによって動作を確認できます。

1-1. 配線

Arduino Nano リレー 赤色LED 緑色LED
5V VCC
3.3V 2
GND GND - -
D4 In1
1 +
3 +

1-2. サンプルコード

const int relay = 4;

void setup() {
  pinMode(relay, OUTPUT);
  digitalWrite(relay, HIGH);
}

void loop() {
  for (int i = 0; i < 3; i++) {
    digitalWrite(relay, LOW);
    delay(500);
    digitalWrite(relay, HIGH);
    delay(500);
  }
  delay(9999);
}

1-3. 実行結果


2. 2チャンネルリレー

2つのリレーチャンネルに接続されたLEDが順に点灯し、また消灯する例です。

2-1. 配線

Arduino UNO 2チャンネルリレーモジュール 抵抗1 抵抗2 LED1 LED2
GND Gnd K K
5V Vcc, 2, 4
D6 IN1
D7 IN2
1 接続
3 接続
接続 A
接続 A

2-2. サンプルコード

#define IN1 6
#define IN2 7

void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, HIGH);
  delay(300);
  digitalWrite(IN1, LOW);
  delay(300);
  digitalWrite(IN2, LOW);
  delay(300);
  digitalWrite(IN1, HIGH);
  delay(300);
  digitalWrite(IN2, HIGH);
  delay(300);
}

void loop() {
}

2-3. 実行結果

3. 4チャンネルリレー

4つのリレーチャンネルに接続された各LEDが順に点灯し、その後順に消灯する例です。

3-1. 配線

Arduino 4チャンネルリレーモジュール LED1 LED2 LED3 LED4 抵抗1 抵抗2 抵抗3 抵抗4 5V電源
5V VCC
GND GND K K K K -
D8 IN1
D9 IN2
D10 IN3
D11 IN4
1 接続
3 接続
5 接続
7 接続
2,4,6,8 +
A 接続
A 接続
A 接続
A 接続

3-2. サンプルコード

#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11

void setup() {
  for (int i = 0; i < 4; i++) {
    pinMode(IN1 + i, OUTPUT);
    digitalWrite(IN1 + i, HIGH);
  }
  delay(100);
  for (int i = 0; i < 4; i++) {
    digitalWrite(IN1 + i, LOW);
    delay(100);
  }
  delay(1000);
  for (int i = 0; i < 4; i++) {
    digitalWrite(IN1 + i, HIGH);
    delay(100);
  }
  delay(2000);
}

void loop() {
}

3-3. 実行結果


4. 8チャンネルリレー

8つのリレーチャンネルに接続された各LEDが順に点灯し、その後順に消灯する例です。

4-1. 配線

4-2. サンプルコード

const int IN8 = 4;
const int IN7 = 5;
const int IN6 = 6;
const int IN5 = 7;
const int IN4 = 8;
const int IN3 = 9;
const int IN2 = 10;
const int IN1 = 11;

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 8; i++) {
    pinMode(IN8 + i, OUTPUT);
    digitalWrite(IN8 + i, HIGH);
  }
  delay(100);
  for (int i = 0; i < 8; i++) {
    digitalWrite(IN1 - i, LOW);
    delay(100);
  }
  delay(1000);
  for (int i = 0; i < 8; i++) {
    digitalWrite(IN1 - i, HIGH);
    delay(100);
  }
}

void loop() {
}

4-3. 実行結果

注意事項

  • リレーモジュールの電源供給は安定している必要があります。
  • 高電圧機器を扱う際には安全に注意してください。
  • リレーモジュールの定格電流・電圧を超えないように注意してください。

活用例

1. ホームオートメーション

  • 照明制御:リレーを使って家庭の照明をリモートでオン/オフできます。
  • 家電制御:エアコン、ヒーター、コーヒーメーカーなどを制御できます。

2. セキュリティシステム

  • ドアロック制御:リレーで電子ドアロックを操作できます。
  • 警報システム:センサーとリレーを連携させて警報システムを構築できます。

3. 自動制御システム

  • 温度制御:温度センサーとリレーでファンやヒーターを制御できます。
  • 水ポンプ制御:水位センサーと連動して水ポンプを自動制御できます。

4. リモート制御

  • IoTプロジェクト:インターネット経由でリレーを操作して各種デバイスを制御できます。

5. 交通信号制御

  • 信号機:リレーを使って交通信号システムを制御できます。