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

スマートキューブ: 次世代ホームコントロールハブ

部品と材料

部品数量
Arduino 101 (Intel Curie搭載)1
LED (汎用)5 (青1, 黄1, 緑1, 赤2)
抵抗 221Ω5
ブレッドボード (汎用)1 (任意)
Seeed Base Shield V21
Seeed Grove LCD RGBバックライト1
Seeed Grove 音センサー1
Seeed Grove ブザー1
Seeed Grove 温度センサー1
キーパッド (4×3マトリックス)1
ジャンパーワイヤー (汎用)1セット
9V電池 (汎用)1
9V電池スナップ1
MDF板 20×30cm (厚3mm)1

必要な工具と機器

アプリとオンラインサービス

プロジェクト概要

スマートキューブとは?

スマートキューブは、スマートホームデバイスを制御するポータブルコントローラーです。現代の住宅ではデバイスをよりスマートに管理することが必須になりつつあり、シンプルで直感的な操作が求められます。スマートキューブは Arduino 101 ボードと複数の センサー を内蔵し、家電やアクチュエーターと通信します。

最大の革新は Arduino 101のBluetooth Low Energy (BLE) と 内蔵ジャイロスコープ・加速度計 を活用した ジェスチャー操作 です。キューブには 6つの面 があり、それぞれ異なる機能を担当します。ジャイロスコープが 上向きになっている面を検出 し、その面の機能をアクティブにします。例えば「ライト面」を上に向ければ照明が点灯、キューブを シェイク (振る) すれば消灯します。

面が上向きになって 2秒以上静止 するとその機能が有効化されます (誤動作防止のための遅延)。2秒以上シェイク すると最後に有効化した機能が無効化されます。

本プロジェクトはスマートコントローラーの構築を支援します。キューブからの出力はBLE信号で、スマートフォンアプリ (nRF Connect等) や、別のArduinoを搭載した受信ステーション (セントラリネ) で受信し、実際の家電を制御します。受信側の実装は用途に応じて自由です。

搭載機能 (6面)

スマートキューブ: 次世代ホームコントロールハブ

構想からの変更点

製作手順

ハードウェア - 電子工作

Arduino 101にGrove Base Shieldを装着し、以下を接続:

ハードウェア - 筐体 (レーザーカット)

付属の .dxf ファイルをレーザーカッターで加工。赤線は彫刻 (面のシンボル)、黒線は切断。内寸9cm立方体。3mm厚材料用 (厚みが異なる場合は MakerCase で調整)。MDF推奨だが他素材でも可。

組み立て手順:段ボールでLEDの厚み調整 → キーパッド取り付け (接着シート剥がして穴に嵌め込み) → LCD取り付け → バッテリーコネクター加工 (古いACアダプタープラグを切って電池スナップに接続、省スペース化) → 基板と電池を固定 (シェイク時に動かないよう) → コードアップロード → 電池接続 → 箱を閉じる。

コード解説

コードは添付ファイル (SMART CUBE - complete code with comments) に全文掲載。Arduino IDEでアップロード (Arduino 101対応版に更新済みのこと)。500行超だがほぼ全行にコメント付き。

構成:

  1. ライブラリと変数宣言: CurieIMU (加速度/ジャイロ), CurieBLE, Wire, rgb_lcd, Keypad。BLEサービス (Automation IO 0x1815) とキャラクタリスティック (Digital 0x2A56, Analog 0x2A58) を定義。
  2. setup(): ピンモード設定、LCD初期化、IMU初期化 (2Gレンジ、ショック検出閾値7.0g/継続2000ms)、BLEペリフェラル設定 (デバイス名 "SmartCubeSketch"、各サービス/キャラクタリスティック追加、初期値設定)。
  3. loop() - 4つのパート:
    1. 姿勢検出: Arduino公式チュートリアルベース。加速度計XYZから現在の向き (0〜5) を常時算出。
    2. 面の有効化: 向きが変わったら millis() で計測開始。同じ向きが interval (2000ms) 継続し、前回と異なる面なら該当フラグ (face0〜5) を true に。
    3. シェイク検出/無効化: IMUのショック割り込み検出 + SHAKEinterval (2000ms) 経過で、最後に有効化した面 (lastFUNCTION) を false にし、BLEでOFF信号送信、LED消灯等の後処理。OFF面シェイク時は全面無効化。
    4. 有効面の継続処理: faceX == true の面のみ、毎ループ実行されるコア機能 (BLE送信、センサー読取、LCD更新、LED制御等)。

カスタマイズ方法: 各面の if (faceX == true) { ... } ブロック内と、シェイク時の無効化ブロック内を書き換えるだけ。メイン構造は維持。

アプリ (BLE確認用)

nRF Connect (Android/iOS) をインストール。デバイス検索で "smartcubesketch" に接続。「Automation IO」タブを開き、連続データ収集を有効化でBLE出力をリアルタイム確認可能。照明/温度/TV機能はBLE接続時のみ動作。

動作デモ動画

コード書き込み → 電池挿入 → 箱を閉じれば スマートキューブ完成! 全機能のデモ動画を用意しています。

結論

このプロジェクトはスマートホームへの 第一歩 です。Arduino 101の 加速度計・ジャイロスコープ がもたらす モビリティ と、BLE による 接続性 を組み合わせた新しいインタラクションです。初の実働プロトタイプ製作で多くの学びがあり、成果に満足しています。読者の皆様もこのガイドから何かを得て、ご自身のニーズに合わせて カスタマイズ していただければ幸いです。拙い英語で恐縮ですが、画像が補助になればと思います。

今後は セントラリネ (受信ステーション) を製作し、スマートキューブとアクチュエーター (照明、空調、TV等) の橋渡し役にしたいと考えています。Arduino 101とGroveキット (プロトタイピングに最適) を使う機会を得られて嬉しく思います。皆様のプロジェクトの インスピレーション になれば幸いです。どんな機能を追加し、どんな文脈で活用されるか楽しみにしています。

これが革命ではないかもしれませんが、家と対話する新しい方法 です。気に入っていただけたら幸いです。さあ、あなたの手でキューブを ハック してください!

コード全文

// Libraries
#include "CurieIMU.h"
#include 
#include 
#include "rgb_lcd.h"
#include 

rgb_lcd lcd;
BLEPeripheral blePeripheral;
BLEService lightsService("1815");
BLEService termoService("1815");
BLEService TVService("1815");
BLEUnsignedCharCharacteristic lightsChar("2A56", BLERead | BLENotify);
BLEUnsignedCharCharacteristic termoChar("2A56", BLERead | BLENotify);
BLEUnsignedCharCharacteristic TVChar("2A58", BLERead | BLENotify);

// 定数・変数宣言 (面管理、シェイク検出、タイマー設定、温度閾値、キーパッド配列、LEDピン等)

void setup() {
  // ピンモード、LCD、IMU、BLE初期化
  // BLE初期値: lightsChar=3(初期状態), termoChar=0(冷暖房OFF), TVChar='x'(初期状態)
}

void loop() {
  BLECentral central = blePeripheral.central();
  unsigned long currentMillis = millis();

  // 1. 姿勢検出 (Arduinoチュートリアル準拠)
  // 2. 面有効化判定 (2秒静止でフラグ立て)
  // 3. シェイク検出/無効化 (2秒シェイクでlastFUNCTION面を閉じる)
  // 4. 有効面の処理 (face0=タイマー, face1=TV, face2=温度, face3=OFF, face4=照明, face5=音)
}

カスタムパーツとエンクロージャ

レーザーカッター用 .dxf ファイル (MDF 3mm用、赤線=彫刻、黒線=切断)。厚み違いの場合は修正必要。同内容の .pdf も同梱。

回路図

製造プロセス

  1. わずかに大きな設計がイノベーションを加速しリスクを減らす理由
  2. 家庭用の低コストワイヤレスセンサーネットワークを構築
  3. Raspberry Piダッシュボードで家庭の温度を監視する
  4. スマートプラントIoT:ArduinoとAzureで作る接続型グリーンハウス
  5. Alexaでシーリングファンを音声制御:ステップバイステップガイド
  6. ソーラーパネル:住宅への賢明な投資
  7. スマートホームテクノロジーが日常生活をどう変えるか
  8. スマートホームのスキルギャップを埋める:なぜ英国は欧州に後れを取るのか
  9. スマートホームの進化:コネクテッドリビングの未来を展望する
  10. スマートセキュリティ:ホームIoTデバイスをハッカーから守る専門家の戦略
  11. スマートホームセキュリティを強化する方法:エキスパートのヒント