工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino 製スマートプラグ - 120V 対応、RTC 内蔵で時刻制御可能なインテリジェントコンセント

概要

Arduino UNO と 1 チャンネルリレーモジュール、DS3231 高精度 RTC を組み合わせ、設定時刻に自動で ON/OFF する 120V 対応スマートプラグを自作します。照明等の低電力負荷向け。安全性を重視した配線・筐体設計を解説します。

⚠️ 重要な安全上の注意(必読)

  1. アース付き 3 芯コードを使用し、ホット線(黒)のみをリレーで遮断
    ネUTRAL 線(白)とアース線(緑)は直結。コンセントの金ネジ(ホット側)にリレー NO 接点、銀ネジ(ニュートラル側)に白線、緑ネジ(アース)に緑線を接続。
  2. リレーモジュールを使用(ディスクリートリレー非推奨)
    フライバックダイオード、駆動トランジスタ、ベース抵抗が実装済みのモジュール(Elegoo/Keyes SR1y 互換等)を使用。定格 10A 以内の負荷に限定、またはホット線にヒューズ追加。フォトカプラ内蔵タイプならさらに安全。
  3. 高圧部と低圧部の物理的分離
    プラスチックケース内でリレーモジュールを高圧配線から離して固定。リレー基板のハンダ面をケース側に向け、振動・衝撃で低圧配線が高圧部に接触しないよう配慮。
  4. 120V のみ対応。200V/240V では絶縁距離・部品定格が不足

必要な部品

部品数量備考
Arduino UNO1
1 チャンネル 5V リレーモジュール1フライバックダイオード内蔵タイプ
DS3231 RTC モジュール(I²C)1CR2032 バックアップ電池付き
ブレッドボード / ユニバーサル基板1最終的には基板化推奨
ジャンパワイヤ1 式
USB ケーブル (A-B)1書き込み・給電用
3P 電源コード(アース付き)1プラグ側・コンセント側両方
コンセント本体(120V 15A 定格)1パネルマウント型推奨
プラスチックプロジェクトケース1難燃性・十分な内部容積
LED 電球等のテスト負荷1動作確認用

配線図

プロジェクトページの Schematics セクション参照。要点:

スケッチ(コード)

RTC ライブラリ(Rinky-Dink Electronics 版)を使用。設定時刻は定数で定義(将来的には EEPROM やメニューで変更可能に拡張推奨)。

#include <DS3231.h>

int Relay = 4;
DS3231 rtc(SDA, SCL);
Time t;

const int OnHour  = 7;  // 07:15 ON
const int OnMin   = 15;
const int OffHour = 7;  // 07:20 OFF
const int OffMin  = 20;

void setup() {
  Serial.begin(115200);
  rtc.begin();
  pinMode(Relay, OUTPUT);
  digitalWrite(Relay, LOW); // 初期状態 OFF

  // 初回のみ時刻設定(書き込み後コメントアウト)
  // rtc.setTime(21, 10, 00);
  // rtc.setDate(26, 6, 2018);
}

void loop() {
  t = rtc.getTime();
  Serial.print(t.hour); Serial.print(" hour(s), ");
  Serial.print(t.min); Serial.print(" minute(s)");
  Serial.println();
  delay(1000);

  if (t.hour == OnHour && t.min == OnMin) {
    digitalWrite(Relay, HIGH);
    Serial.println("LIGHT ON");
  }
  else if (t.hour == OffHour && t.min == OffMin) {
    digitalWrite(Relay, LOW);
    Serial.println("LIGHT OFF");
  }
}

ライブラリ導入

DS3231 ライブラリ(Rinky-Dink Electronics) をダウンロードし、Arduino IDE で ZIP インストール。

筐体・組み立て

拡張アイデア

動作確認

  1. USB 接続でスケッチ書き込み、シリアルモニタで時刻確認
  2. RTC 時刻がズレている場合はセットアップの設定行を一時的に有効化して書き込み
  3. 設定時刻(デフォルト 07:15/07:20)になるとリレーがカチッと動作、負荷が ON/OFF
  4. シリアルモニタに "LIGHT ON"/"LIGHT OFF" が表示されることを確認

製造プロセス

  1. TinyML言語検出器:Edge ImpulseとArduino Nano 33 BLE Senseで「はい」を多言語判別
  2. Arduino NanoとMPU-6050で作るリアルタイムジャイロスコープゲーム
  3. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  4. Arduino Nanoで37LEDルーレットゲームを自作:ヨーロピアンスタイル完全再現
  5. ATtiny85ミニアーケード:スネークゲーム - 手のひらサイズOLEDゲーム機の製作
  6. ポータブル距離検出器:Arduino Nano自作キット(HC-SR04、18650電源、3Dプリントケース付き)
  7. Arduino Nanoで作る音声反応デスクライト:音楽に合わせて光るイルミネーション
  8. Arduino Nano と OpenCV で実現する自律顔追跡ロボットカー
  9. 銅メッキプロジェクト:Arduino UNOで作るスマート電気メッキシステム
  10. Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
  11. Arduinoシフトレジスタで美しい光のシーケンスを作成