Scroll

MENU

2017.05.19 Lab

ArduinoとLeap Motionの連携でLチカ

今回はArduinoとLeap Motionを連携させる方法を紹介します。

動作環境は Mac(10.12)、Node v6.91、npm v3.10.8です。

Node.jsを使うまでのセットアップは長くなるので、本記事では割愛します。

 

npmで必要なパッケージをインストール

ターミナルを起動して、下記コマンドでnpm初期設定。

$npm init -y

次に、必要なパッケージをインストールします。

$npm install leapjs,johnny-five --save-dev

今回使うパッケージは2つです。

・Johnny-Five
http://johnny-five.io/
Arduinoをはじめ、様々なマイコンに対応したJavaScript Roboticsフレームワーク

・LeapJS
https://developer-archive.leapmotion.com/javascript
Leap MotionをJavaScriiptから扱うためのパッケージ

どちらも少ないコードで簡単に書くことができます。

実装してみる

それでは、実装です。
今回作成するファイルは一つだけ。
「app.js」という名前のファイルを作成します。

内容は下記のようになります。

//必要なライブラリを読み込みます
var Leap = require("leapjs");
var five = require('johnny-five');

//Leap Motionコントローラー
var controller = new Leap.Controller();
controller.connect();
var leapAction;
controller.on('gesture', function (gesture) {
  switch (gesture.type) {
    //円を描くとLEDストップ
    case 'circle':
      leapAction = setTimeout(ledOff,50);
      break;
    //スワイプされるとLEDスタート
    case 'swipe':
      leapAction = setTimeout(ledOn,50);
      break;
  }
});

//LED
var led;
var isLedStart;

//ボード
var board = new five.Board();
board.on('ready', function() {
  led = new five.Led(13);
});

var ledAction;
//LEDを止める
function ledOff(){
  if(led && isLedStart){
    led.off();
    ledAction = setTimeout(function(){
      isLedStart = false;
    },500);
  }
}
//LEDを光らせる
function ledOn(){
  if(led && !isLedStart){
    led.on();
    ledAction = setTimeout(function(){
      isLedStart = true;
    },500);
  }
}

あとは、下記コマンド打つと実行されます。

$node app.js

実際の動作イメージです

 

Back to List

Google Maps

  • 東京メトロ 丸ノ内線「新宿御苑前」駅
    2番出口より徒歩5分

【個人情報の取り扱いについて】

株式会社ジュニ(以下「当社」)は、以下のとおり個人情報保護方針を定め、個人情報保護の仕組みを構築し、全従業員に個人情報保護の重要性の認識と取組みを徹底させることにより、個人情報の保護を推進致します。

個人情報の管理
当社は、お客さまの個人情報を正確かつ最新の状態に保ち、個人情報への不正アクセス・紛失・破損・改ざん・漏洩などを防止するため、セキュリティシステムの維持・管理体制の整備・社員教育の徹底等の必要な措置を講じ、安全対策を実施し個人情報の厳重な管理を行ないます。
個人情報の利用目的
お客さまからお預かりした個人情報は、当社からのご連絡や業務のご案内やご質問に対する回答として、電子メールや資料のご送付に利用いたします。
個人情報の第三者への開示・提供の禁止
当社は、お客さまよりお預かりした個人情報を適切に管理し、次のいずれかに該当する場合を除き、個人情報を第三者に開示いたしません。

  • お客さまの同意がある場合
  • お客さまが希望されるサービスを行なうために当社が業務を委託する業者に対して開示する場合
  • 法令に基づき開示することが必要である場合
個人情報の安全対策
当社は、個人情報の正確性及び安全性確保のために、セキュリティに万全の対策を講じています。
ご本人の照会
お客さまがご本人の個人情報の照会・修正・削除などをご希望される場合には、ご本人であることを確認の上、対応させていただきます。
法令、規範の遵守と見直し
当社は、保有する個人情報に関して適用される日本の法令、その他規範を遵守するとともに、本ポリシーの内容を適宜見直し、その改善に努めます。
お問い合せ
当社の個人情報の取扱に関するお問い合せは下記までご連絡ください。
株式会社ジュニ
〒160-0022 東京都新宿区新宿1-10-2 黒新ビル2F
TEL:03-5295-8445 FAX:050-3737-3451
Mail: info@junni.jp

page top