巨大レゴミニフィグ・アニマトロニクス「オペレーション」ゲームをArduinoで自作
必要な部品
- Arduino UNO ×2
- Adafruit Arduino MP3シールド ×1
- MG90S ギアードマイクロサーボ ×6
- スピーカー(3W、4Ω) ×2
- OpenBuilds ボールベアリング 688Z (8x16x5) ×12
必要なツール・工作機械
- LulzBot TAZ 5 FDM 3Dプリンター
- X-Carve CNCルーター
プロジェクト概要
このプロジェクトは全4フェーズで構成されます。最初の3フェーズ(電子工作なし)を簡単に振り返り、フェーズ4で「オペレーション」ゲーム化、音声・アニマトロニクス搭載までを詳しく解説します。
フェーズ1:メガフィグ(巨大ミニフィグ)の製作
手→頭→胴体→脚→腕の順で製作。手はPVCパイプとガラス繊維樹脂、頭はPVCパイプ継手・MDF・樹脂、胴体はMDF箱組み、脚はMDFとPVC、腕はPVCパイプ・MDF・フローラルフォーム・ボンドで成形し、最終的にスムースキャスト300で型取り・鋳造。全体を「モンスターハンターズ」レゴキットに合わせて塗装。
フェーズ2:髪の毛製作
工具用ウレタンフォームをバンドソーでカット、エポキシで接着、スムースキャスト300でシェル化、エポキシパテで継ぎ目埋め、下地・塗装。
フェーズ3:フランクのベッド製作
「クレイジー・サイエンティストと怪物」レゴキット準拠。MDF箱組み+PVCパイプでスタッド表現。角ディテールはPVCパイプでMDFディスクを挟む構造。
フェーズ4:オペレーションゲーム化と動作制御
各パーツごとに解説します。
胴体
関節に3Dプリントブラケットとローラースケートベアリングを追加し、腕・頭のピボットポイントに。上半身に3Dプリントしたキャンディディッシュ+アルミ削り出しリップを配置し、新しい胴体プレートで覆う。アルミリップはピンセット(MP3シールドに配線)が触れると回路が閉じ、プログラム起動スイッチとして機能。
頭部(2個)
首に3Dプリントブラケット+5/16インチボルト(アクスル)を追加。穴あき金属をガイドにスピーカーグリル用穴を開け、塗装で目立たなくする。スピーカーをグリル裏に固定する3Dプリントブラケットを作成。
脚部
新しい脚を2分割で3Dプリント、骨型キャンディディッシュ+アルミプレートを追加。接着・サンディング・ボンド整形・塗装。
腕部
オリジナルマスターに3Dプリントブラケット+5/16インチボルト用穴を追加、再度型取り・鋳造・整形・塗装。
サーボ設置
3Dプリントブラケットでサーボを固定、ワイヤーとアルミホーンで5/16インチボルトに接続。後にスプリングを追加し、腕の持ち上げをアシスト。
電子回路
MDF板に全電子部品を搭載し、プロトタイプテストベッドとして動作確認・デバッグ。仕組み:
- MP3シールドが3つの入力(ピンセットがアルミプレートに接触)を待機
- 入力検知で対応するMP3再生+サーボ用Arduinoへ信号送信
- サーボ用Arduinoが信号受信で対応するサーボ動作を実行
両Arduinoをベッド裏に搭載し、配線し直し。
トリック・オア・トリート対応完成
一晩中の酷使にも耐え、完璧に動作。詳細なビルドログは RPFスレッド 参照。
コード
サーボ制御用(Arduino)
MP3シールドからの3信号のいずれかを受信すると、対応するサーボ動作を実行。イージング関数を豊富に搭載し、滑らかな動きを実現。
// ここでは主要部分のみ抜粋。全文は元記事参照。
#include
Servo servo5, servo6, servo7, servo8, servo9, servo10, servo11;
// ... 初期化、イージング関数群、zap2/zap3/zap4 関数 ...
サウンドエフェクト用(Arduino + MP3シールド)
3つのスイッチ入力を検知し、対応する音声ファイル再生+サーボ用Arduinoへトリガー信号送信。音量ボタンも実装。
// ここでは主要部分のみ抜粋。全文は元記事参照。
#include
#include
#include
// ... 初期化、GPIO読み取り、zap2/zap3/zap4 関数 ...
カスタムパーツ・エンクロージャ
3Dプリントパーツ
CADファイル:Thingiverse
回路図
MP3シールドGPIO 2,3,4 → アルミプレート
MP3シールド3V → ピンセット
MP3シールドピン5,8,9 → サーボ用Arduinoピン2,3,4
サーボ用Arduinoピン6-11 → サーボ各軸
サーボ電源・GND → 5V電源
両ArduinoのGND共通
スピーカー配線
メガフィグ製作用の寸法入り図面も掲載。
製造プロセス
- Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
- Arduino UNOとOLEDディスプレイでクラシックPongゲームを自作:ステップバイステップチュートリアル
- DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
- Arduino Unoで作る自動発射レゴ・スターウォーズ砲台
- Arduinoタッチブレークアウトゲーム:2.4インチTFT LCDでクラシックアーケードを再現
- Arduinoオーディオ周波数検出器 – 高感度サウンドモジュールで最大音量ピークの周波数を測定
- Arduinoで作る自作デジタルペット「Tamaguino」─ 3Dプリンター製ケース付き完全ガイド
- スマートワイヤレス照明スイッチコントローラー:Arduinoで物理スイッチを遠隔操作
- Arduino三目並べ:MAX7219 LEDマトリクスと段ボールケースで自作
- Arduino Nanoで作るスマートな動体検知水鉄砲
- SparkFun 7セグメントディスプレイで作る信頼性の高いArduinoカウントダウンタイマー