ArduinoとリレーモジュールでAC家電をスマート制御する方法【回路図・安全対策・スマートホーム応用まで解説】
「照明やコンセントをArduinoで自動制御したい!」「スマートホームを自作してみたいけど、AC100Vって触って大丈夫?」
そんな疑問を持っている方、多いんじゃないでしょうか。
今回はArduinoとリレーモジュールを組み合わせて、家庭用AC100V機器(照明・扇風機・コンセントなど)をプログラムから制御する方法をゼロから解説します。回路図・コード・安全対策、さらにスマートホームへの応用まで一気にカバーしますよ🔌
⚠️ 注意:この記事ではAC100Vを扱います。正しい知識と安全対策を必ず確認してから作業してください。不安な方はDC回路での動作確認を先に行うことをおすすめします。
そもそもリレーモジュールって何?

リレーとは、小さな電気信号で大きな電流のON/OFFを切り替えるスイッチのことです。
イメージとしては「電磁石の力でスイッチを物理的にカチっと切り替える部品」と思ってください。
Arduinoの出力電圧は5V・最大40mAほど。一方、家庭用AC100Vは数アンペアが流れます。直接つなぐのはもちろんNG。そこでリレーが「絶縁しながら橋渡し」をしてくれるわけです。
市販のリレーモジュール(5V駆動・1チャンネル〜8チャンネル)を使えば、Arduinoと接続するだけですぐ使えます。秋月電子やAmazonで300〜1000円程度で手に入りますよ。
必要な部品リスト
- Arduino UNO(またはNano・Mega)
- 5V対応リレーモジュール(1チャンネル)
- AC100V対応の電源タップ or 照明器具(被制御機器)
- ジャンパーワイヤー(オスーメス)
- USBケーブル・PC
⚠️ AC配線には電気工事士の資格が必要な作業が含まれる場合があります。コンセントの分解・直結作業は有資格者が行うか、既製品の延長ケーブルを改造する形で対応しましょう。
回路図:Arduinoとリレーモジュールの配線
まずはArduino↔リレーモジュール間のDC配線から確認しましょう。
【Arduinoとリレーモジュールの接続】
リレーモジュール側 Arduino UNO側
─────────────────────────────────
VCC → 5V
GND → GND
IN(信号ピン) → デジタルピン 7番
【ACラインの接続(リレー端子)】
AC電源の片側(L線)→ リレーのCOM端子
リレーのNO端子 → 家電の片側
家電のもう片側 → AC電源のN線(直結)
ポイントをまとめるとこんな感じです👇
- COM(Common):ACラインを入力する端子
- NO(Normally Open):リレーOFF時は開放、ON時に導通する端子
- NC(Normally Closed):リレーOFF時に導通、ON時に開放する端子(今回は使用しない)
リレーモジュールには「LOW アクティブ」と「HIGH アクティブ」の2種類があります。多くの市販品はLOWアクティブ(信号ピンにLOWを送るとリレーがON)なので、コードの書き方に注意が必要です。
基本コード:タイマーで照明をON/OFF
まずはシンプルに、5秒ON→5秒OFFを繰り返す基本スケッチです。
// リレーモジュールで家電をタイマー制御するスケッチ
// LOWアクティブのリレーモジュールを想定しています
const int RELAY_PIN = 7; // リレー制御ピン
void setup() {
pinMode(RELAY_PIN, OUTPUT);
// 起動時はリレーをOFF(LOWアクティブなのでHIGHでOFF)
digitalWrite(RELAY_PIN, HIGH);
Serial.begin(9600);
Serial.println("リレー制御スタート!");
}
void loop() {
// 家電をONにする
digitalWrite(RELAY_PIN, LOW); // LOWでリレーON
Serial.println("家電 ON");
delay(5000); // 5秒待つ
// 家電をOFFにする
digitalWrite(RELAY_PIN, HIGH); // HIGHでリレーOFF
Serial.println("家電 OFF");
delay(5000); // 5秒待つ
}
このスケッチの重要ポイントはここです:
- LOWアクティブモジュールでは LOW → リレーON(家電ON)、HIGH → リレーOFF(家電OFF)
- 起動時に
HIGHを送ることで「意図しない誤作動」を防いでいます - シリアルモニタで動作ログが確認できます
応用コード:シリアル通信でスマホ・PCから制御
次は、シリアルモニタ(またはPythonスクリプト)からコマンドを送って家電をON/OFFする実用的な例です。
// シリアルコマンドでリレーを手動制御するスケッチ
// 「1」を送るとON、「0」を送るとOFF
const int RELAY_PIN = 7;
bool relayState = false; // 現在の状態を管理
void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH); // 起動時OFF
Serial.begin(9600);
Serial.println("コマンド待機中... 1=ON / 0=OFF");
}
void loop() {
if (Serial.available() > 0) {
char command = Serial.read(); // 1文字受け取る
if (command == '1') {
digitalWrite(RELAY_PIN, LOW); // リレーON
relayState = true;
Serial.println("[ON] 家電をONにしました");
}
else if (command == '0') {
digitalWrite(RELAY_PIN, HIGH); // リレーOFF
relayState = false;
Serial.println("[OFF] 家電をOFFにしました");
}
else if (command == 's') {
// 現在の状態を確認するコマンド
Serial.print("現在の状態: ");
Serial.println(relayState ? "ON" : "OFF");
}
}
}
シリアルモニタから 1 を送ると家電がON、0 を送るとOFF、s を送ると現在の状態が確認できます。これだけでもかなり実用的ですよね😊
スマートホーム応用:時刻連動の自動制御
さらに発展させると、RTC(リアルタイムクロック)モジュールと組み合わせて「毎朝7時に照明ON・23時にOFF」といった時刻連動制御も可能になります。
// DS3231 RTCモジュールと組み合わせたスケジュール制御の概念コード
// ライブラリ: RTClib(Adafruit)が必要
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
const int RELAY_PIN = 7;
void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH); // 起動時OFF
Serial.begin(9600);
rtc.begin();
}
void loop() {
DateTime now = rtc.now(); // 現在時刻を取得
int currentHour = now.hour();
// 7時〜23時の間は照明ON、それ以外はOFF
if (currentHour >= 7 && currentHour < 23) {
digitalWrite(RELAY_PIN, LOW); // ON
} else {
digitalWrite(RELAY_PIN, HIGH); // OFF
}
delay(60000); // 1分ごとにチェック
}
このコードにさらに温度センサー・照度センサー・Wi-Fiモジュール(ESP8266など)を組み合わせれば、本格的なスマートホームの出来上がりです!
⚠️ 安全対策:必ず読んでください
AC100Vを扱う以上、安全対策は絶対に外せません。以下のポイントを必ず守ってください。
- ✅ 作業中は必ずAC電源を抜いてから配線する(絶対厳守!)
- ✅ AC配線部分は絶縁テープで完全に覆う。露出した金属部分を残さない
- ✅ リレーモジュールのAC端子側とDC(Arduino)側は物理的に離して固定する
- ✅ ケースやエンクロージャーに収納してAC部分を触れないようにする
- ✅ リレーの定格(例:10A 250VAC)を超える機器には使用しない
- ✅ 万が一のためヒューズをAC回路に入れることを推奨
- ✅ 子供の手の届かない場所に設置する
「なんとなく動いたからOK」ではなく、正しく絶縁・固定されているかを必ず確認してから運用してください。
まとめ
今回はArduinoとリレーモジュールを使ってAC家電をスマート制御する方法を解説しました。
ポイントをおさらいすると:
- リレーは「小信号で大電流をON/OFFする橋渡し役」
- LOWアクティブ・HIGHアクティブの違いに注意
- シリアル通信でPCやスマホからリアルタイム制御が可能
- RTCモジュールと組み合わせれば時刻スケジュール制御もできる
- AC100Vを扱う以上、安全対策は絶対に妥協しない
最初は「AC触るの怖いな…」と感じるかもしれませんが、正しい知識と安全対策があれば、市販品にはない自分だけのスマートホームを作れる最高に楽しいテーマです🏠✨
ぜひ実際に手を動かして試してみてください!何か詰まったことがあれば、コメントで気軽に聞いてくださいね。一緒に学んでいきましょう!
こちらも読まれています
📡 Arduinoをもっと深く学ぼう!
Arduino・ラズパイ・ロボットプログラミングを体系的に学びたい方へ。おすすめのUdemyコースや電子部品もまとめています。
📚 関連商品・おすすめ書籍
※本記事にはアフィリエイトリンクが含まれます。





