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

HomeBright: Leap MotionとArduino UNOで実現するジェスチャー制御スマート照明

必要なパーツと材料

パーツ数量備考
Arduino UNO1
Leap Motion Controller1手のトラッキング用
LED (汎用)4各部屋の照明を模擬
ジャンパーワイヤー10本

使用するアプリとオンラインサービス

プロジェクトの概要

Leap MotionとArduino UNOを組み合わせ、手のジェスチャーで部屋ごとの照明明度を制御するホームオートメーションシステムを構築します。住宅の平面図をLeap Motionの座標系にマッピングし、手のひらの位置で対象の部屋を特定、手のひらの高さ (Z軸) で明るさを調整します。

セットアップ手順

  1. Node.jsをインストール
  2. Leap Motion SDKをインストール
  3. Cylon.jsのArduinoおよびLeap Motionモジュールをインストール (詳細は「参考リンク」参照)
  4. または package.json を使って必要なNodeモジュールを一括インストール: npm install

実行方法

node homebright-console.js

参考リンク

HomeBright: Leap MotionとArduino UNOで実現するジェスチャー制御スマート照明
HomeBright: Leap MotionとArduino UNOで実現するジェスチャー制御スマート照明
HomeBright: Leap MotionとArduino UNOで実現するジェスチャー制御スマート照明

ソースコード

homebright-console.js (メインロジック)

"use strict";
var cylon = require("cylon");

cylon.robot({
  connections: {
    leapmotion: { adaptor: "leapmotion" },
    arduino: { adaptor: "firmata", port: "COM7" } // 環境に合わせて変更
  },
  devices: {
    leapmotion: { driver: "leapmotion" },
    livingroom: { driver: "led", pin: 6, connection: "arduino" },
    dininghall: { driver: "led", pin: 9, connection: "arduino" },
    bedroom: { driver: "led", pin: 10, connection: "arduino" },
    studyroom: { driver: "led", pin: 11, connection: "arduino" }
  },
  work: function(my) {
    my.leapmotion.on("hand", function(hand) {
      // 握り具合でON/OFF (grabStrength > 0.5 で消灯)
      var on = hand.grabStrength > 0.5 ? false : true;
      var x = hand.palmPosition[0]; // X座標 (左右)
      var z = hand.palmPosition[2]; // Z座標 (奥行き)
      var value = 0;
      if (on) {
        value = hand.palmPosition[1]; // Y座標 (高さ) = 明度
      }
      console.log(value);
      
      // 座標平面の象限で部屋を判定
      if (x > 0 && z > 0) {
        // 右奥: リビングルーム
        my.livingroom.brightness(value);
      } else if (x > 0 && z < 0) {
        // 右手前: ダイニングホール
        my.dininghall.brightness(value);
      } else if (x < 0 && z > 0) {
        // 左奥: スタディルーム
        my.studyroom.brightness(value);
      } else {
        // 左手前: ベッドルーム
        my.bedroom.brightness(value);
      }
    });
  }
}).start();

package.json (依存パッケージ定義)

{
  "name": "homebright-console",
  "version": "1.0.0",
  "dependencies": {
    "cylon": "1.2.0",
    "cylon-gpio": "0.27.0",
    "cylon-i2c": "0.23.0",
    "cylon-leapmotion": "0.20.0",
    "serialport": "1.7.4",
    "firmata": "0.5.5",
    "cylon-firmata": "0.23.0"
  }
}

回路図

HomeBright: Leap MotionとArduino UNOで実現するジェスチャー制御スマート照明
HomeBright: Leap MotionとArduino UNOで実現するジェスチャー制御スマート照明

注意点: このプロジェクトではArduinoにStandardFirmataスケッチを書き込み、Node.js側からCylon.js経由で制御します。Leap Motionの座標系と部屋のマッピングはプロジェクトの規模に合わせて調整してください。より実用的なシステムにするには、照明器具へのリレーやPWM制御、複数のLeap Motionによる広範囲カバー、認証機能の追加などが考えられます。

製造プロセス

  1. Bluetooth操作のArduinoスパイボットを自作する
  2. FlickMote:ジェスチャー操作のIRリモコンでスマートホームを制御
  3. 自作Arduino TV-B-Gone:全テレビ対応の万能リモコン
  4. 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
  5. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  6. Arduinoプロジェクトのための最適化電源ソリューション
  7. Arduino三目並べ:MAX7219 LEDマトリクスと段ボールケースで自作
  8. スマートArduino四足歩行ロボットの製作:ステップバイステップガイド
  9. ゲーム用カスタムArduinoジョイスティックハンドルの製作
  10. Arduino Nano R3で本格的なCNCマシンを自作する
  11. Earth Analyzer: 農業支援のための高度IoT環境監視ローバー