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

Bluetooth接続で実現するスマートホームオートメーション

必要な部品と材料

部品数量備考
Arduino UNO1制御用マイコン
リレーモジュール (汎用、4ch以上推奨)1家電制御用
Bluetoothモジュール (HC-05/06等、BLE可)1スマホとの通信用
電球/照明器具 (テスト用)1負荷例

必要な工具

使用ソフトウェア

プロジェクト概要

ArduinoとBluetoothモジュールを用いて、スマートフォンから家電機器を無線制御するシンプルなホームオートメーションシステムです。リレーモジュールを介してAC100V機器のON/OFFを制御できます。

回路設計

Bluetoothモジュール (HC-05/06等) は4ピン: VCC, TX, RX, GND。

⚠ 電圧レベル変換が必要
Bluetoothモジュールは3.3V動作ですが、Arduino UNOのTX出力は5Vです。
Arduino TX (D1) → Bluetooth RX 間に 分圧抵抗 (10kΩ + 20kΩ) を挿入し、3.3Vレベルに降圧してください。
逆にBluetooth TX → Arduino RX は3.3V出力がArduinoのVIH (約3V) を満たすため直接接続可能です。

リレーモジュール接続

動作フロー

  1. 電源投入 → BluetoothモジュールのLEDが点滅 (ペアリング待ち)
  2. スマホで「Bluetooth Controller」アプリ起動、モジュールとペアリング (初回のみPIN: 1234或いは0000)
  3. ペアリング成功でLEDが点灯 (常時点灯)
  4. アプリでボタンを設定: 各負荷用のキーと送信文字列を割り当て (例: 「Light ON」→ "light on")
  5. ボタン押下で文字列送信 → Arduino受信 → 対応リレー制御

アプリダウンロード: Google Driveリンク (またはPlay Storeで"Bluetooth Controller"検索)

Arduinoスケッチ

SoftwareSerialを使用し、ハードウェアシリアル (D0/D1) をデバッグ用に確保する構成も可能ですが、ここではハードウェアシリアルをBluetooth通信に使用しています (書き込み時はBluetoothモジュールを外すか、SoftwareSerial版を推奨)。

#include <SoftwareSerial.h>

// SoftwareSerial推奨: D10=RX, D11=TX 等でBluetooth接続し、ハードウェアSerialはデバッグ用に確保
SoftwareSerial BT(10, 11); // RX, TX

String command;

void setup() {
  BT.begin(9600);
  Serial.begin(9600); // デバッグ用
  
  pinMode(2, OUTPUT); // リレー1 (照明等)
  pinMode(3, OUTPUT); // リレー2 (スタンド等)
  pinMode(4, OUTPUT); // リレー3 (扇風機等)
  pinMode(5, OUTPUT); // リレー4 (ロック/開錠等)
  
  // 初期状態: 全OFF
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
}

void loop() {
  // Bluetoothから文字列受信
  while (BT.available()) {
    delay(10); // 安定待ち
    char c = BT.read();
    command += c;
  }
  
  if (command.length() > 0) {
    Serial.println(command); // デバッグ出力
    
    if (command == "light on")      digitalWrite(2, HIGH);
    else if (command == "light off") digitalWrite(2, LOW);
    else if (command == "lamp on")   digitalWrite(3, HIGH);
    else if (command == "lamp off")  digitalWrite(3, LOW);
    else if (command == "fan on")    digitalWrite(4, HIGH);
    else if (command == "fan off")   digitalWrite(4, LOW);
    else if (command == "open")      digitalWrite(5, HIGH); // 解錠
    else if (command == "lock")      digitalWrite(5, LOW);  // 施錠
    else if (command == "all on") {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
    }
    else if (command == "off") { // 全OFF
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
    }
    
    command = ""; // バッファクリア
  }
}

回路図

Bluetooth接続で実現するスマートホームオートメーション

改良・拡張のアイデア

注意事項

製造プロセス

  1. Raspberry Piで構築するホームオートメーションシステム:リモート制御対応
  2. Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
  3. Pixie: Arduino Pro Miniで作るNeoPixel腕時計 - アナログとデジタル融合のDIY光る時計
  4. ホームオートメーション制御のための堅牢な物理インターフェース
  5. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  6. Arduino Nanoと128x64 OLEDで実行するセルラーオートマトン「ライフゲーム」
  7. 自律型ホームアシスタントロボット「O'nine」の構築 – ROS、Alexa、ロボットアーム完全ガイド
  8. Alexa対応Arduinoホームコントローラー:音声でスマートホーム自動化
  9. Arduino + Windows IoT + Azure クラウドによる高度な転倒検知システム
  10. Arduino Mega と IoT センサによる高機能ホームモニタリングシステム
  11. スマートホームテクノロジーが日常生活をどう変えるか