Leap Motionで操作するレーザー戦車の製作 – Arduino、Raspberry Pi、RGB LED
必要な部品と用品
| 部品 | 数量 |
|---|---|
| 赤外線LED | 1 |
| 赤外線受信機 | 1 |
| Arduino UNO | 1 |
| Raspberry Pi 2 Model B | 1 |
| RF24モジュール | 1 |
| RGB LED(共通カソード) | 1 |
| L293D モータードライバーIC | 1 |
| ブレッドボード(汎用) | 1 |
| ジャンパーワイヤー(汎用) | 1 |
| 電池ホルダー | 1 |
| 単3電池(充電式NiMH推奨) | 1セット |
| レゴブロック | 1セット |
| ボールキャスター(3/8インチ) | 1 |
| Leap Motion Controller | 1 |
プロジェクト概要
このプロジェクトの目的は、Leap Motionコントローラーを使用して、操作者がよりリアルな感覚で戦車を操作できるロボット戦車のセットを作り、対戦させることです。また、できるだけ安価に製作できるよう設計しましたので、誰でも容易に再現可能です。
ハードウェア構成
- 車体: 汎用レゴブロックとプレートで構成
- 電源: 単3充電式電池4本のブロック
- 制御基板: Arduino Uno R3
- 駆動系: 後輪2つのDCモーター、前輪にキャスター1つ、L293D ICで制御
- 武装: 赤外線LED1個(レーザー代わり)
- 装甲: 赤外線センサー複数で敵のIR LEDを検知し、被弾を判定
- ヘッドアップディスプレイ: フルカラーLED1個で戦車の状態(装甲残量など)を表示
- 無線制御: Raspberry Pi 2(Node.js稼働)とRF24無線モジュールで通信
操作方法(Leap Motion)
Leap Motion JavaScript SDKで手の動きを検出し、Node.jsサーバー経由でRF24モジュールを通じて戦車へ指令を送ります。
- 両手を前に出す → 前進
- 両手を引く → 後退
- 左手前、右手後ろ → 右旋回
- 右手前、左手後ろ → 左旋回
- 両手をニュートラル位置 → 停止
- 片手を前に出し、もう片方を下げる → 発射

セットアップ手順
- 回路図に従って戦車を組み立て配線。必要なArduinoライブラリを導入し、戦車1用と戦車2用のスケッチをそれぞれ書き込む。
- Raspberry PiにRF24トランシーバーを接続。Raspbian OSとNode.jsをインストール。
- RF24ライブラリをPi上でダウンロード、設定、ビルド(GitHubのREADME参照)。
- Node.jsサーバーソフトをGitHubから取得、設定、起動。
- PCにLeap Motionとドライバーをインストール。ブラウザでRaspberry PiのWebサーバーURLを開き、戦車1または2の操作ページを読み込む。
- 「キャリブレーション」ボタンを押し、Leap Motion上に両手をかざしてニュートラル位置を登録。完了後、手の動きで戦車を操作可能。
車体製作のポイント
レゴブロックで車体を組み、モーターやブレッドボードなどをゴリラグルーで接着して強度を確保しています。以下のスライドショーで組み立て手順を確認できます。










赤外線LEDの指向性を絞る工夫
一般的な赤外線LEDは広角に光が拡散するため、ゲーム用途では当たり判定が甘くなります。拡大鏡のレンズをチューブの先端に取り付け、もう一方の端にIR LEDを配置することで、ビームを狭く集光できます。

安価なポケット拡大鏡のレンズを利用し、自作チューブで固定することで、精度の高い狭ビームを実現しました。
360度赤外線センサーの実現
単一の赤外線センサーは前方約90度しか検知できません。全方位検知するには、4つのセンサーをANDゲートIC(74HCT21)で束ね、1つの入力ピンにまとめるハードウェア解決が有効です。いずれかのセンサーが信号を検知すると、そのピンがハイになります。これによりライブラリ改修やピン消費を増やさず360度検知が可能です。


コード
全カスタムコードはGitHubで公開しています。
https://github.com/corky/LaserTanks
回路図
- 赤外線LEDによる発射回路(コードを送信し、敵がヒットと判定)
- 単一赤外線センサーによる被弾検知回路
- 4センサー+ANDゲート(74HCT21)による360度検知回路
- RGB LEDによるステータス表示回路(被弾数で色変化、発射時に緑点灯)
- L293DとDCモーターによる駆動回路(前進・後進・左右旋回)
- RF24トランシーバーによる無線通信回路
- Raspberry Pi 2+RF24+Node.jsによるREST API制御回路
各回路図の画像は元記事のSchematicsセクションを参照してください。
製造プロセス
- アルミニウムレーザーマーキング専門ガイド:精度、耐久性、産業用途
- レーザーマーキング総合ガイド:種類、メリット、用途
- ファイバーレーザーマーキング:現代産業向けの精度、速度、汎用性
- レーザーポインター:設計、製造、安全性の概要
- 半導体レーザー:現代技術を支える精密光生成
- 固体レーザー:技術、応用、将来動向
- 集積回路(IC):現代エレクトロニクスを支える微小強力チップ
- Raspberry Pi用DIY赤外線モーションセンサー構築 - ステップバイステップガイド
- Raspberry PiでPIRモーションセンサーとLEDを制御
- MOSMusicプロジェクトキット: MOSFET、Arduinoで音楽同期照明制御
- レーザーマーキングマシンの主要コンポーネント:長寿命化のためのコアパーツ理解