見出し画像

自分だけの自爆ボタンを作ってみた

これは、2年前に同僚から「イベント展示用に自爆スイッチ作って欲しいんだよね」という所から始まりました。

その時に作ったのがコチラです。このボタンを押すと表示されたモデルが爆発するというコンテンツを作成しました。

画像1

そして展示したコンテンツは、こんな感じでビル爆発するというものした。

画像8

ゲームパッドやキーボードマウスと違って、専用ボタンで押すと何とも言えない高揚感に駆られますね…。

ちなみに…その時は時間がなかったので、既製品の組み合わせで済ませました。

ガワはコチラ(購入したものがなかったので、代用品です)

ボタンにある二股の部分にUSBスイッチケーブルを配線して、専用ソフトでどのボタンに割り当てるかを決めたら完成です。大きな工作も必要なく配線だけで出来ます。

ただ、一個あたり3000円します。しかもガワのボタン部分よりもUSB部分の方が高い!!!

もう少し数作ってみたいなぁと思って当時に同僚に話したところ、「DigisparkというマイコンチップとArduino使って、電子工作すれば…ボタンは安く出来るよ」と教えてもらい、いくつかDigisparkも貰いました。

AliExpressだと1個 150円前後で売っているみたいです。

画像2

あとはボタン型スイッチも適当にAmazonで20個で1000円位のを買います…

画像5

ここにスイッチの回路を電子工作で取り付けます。
はんだ付けをしてこんな感じになりました。

画像4

Arduino上では下記のようなコードになります。

// ※押している間、Unity側では常にInput.GetKeyDown/GetKeyUpが trueになります。
// 処理には、1フレーム分バッファして工夫するなどが必要です。

#include "DigiKeyboard.h"
const int LED_PIN = 0;
const int LED_PIN2 = 1;
const int BTN_PIN = 2;

void setup() {
 // don't need to set anything up to use DigiKeyboard
 pinMode(LED_PIN,OUTPUT);  
 pinMode(LED_PIN2,OUTPUT);  
 pinMode(BTN_PIN,INPUT);
 DigiKeyboard.sendKeyStroke(0);  
}

void loop() {
 int val = 0;

 val = digitalRead( BTN_PIN);
 if( val != HIGH  ){
     DigiKeyboard.sendKeyStroke(KEY_ENTER);
     digitalWrite(LED_PIN , HIGH);
     digitalWrite(LED_PIN2 , HIGH);
 }else{
     digitalWrite(LED_PIN , LOW);
     digitalWrite(LED_PIN2 , LOW);
     DigiKeyboard.delay(8);
 }
 DigiKeyboard.delay(2);
}

そして100円均一で買ってきた木材を切り貼りして、ガワを作りました。

画像3

しかし木を切ったり貼ったりは大変でした……。

なので、3Dプリンタも勢いで買ったし、3Dプリンタでやるお!!
こんな感じでパーツが出来て…(天板の黒はガンプラマーカーで塗りました)

画像6

そして、完成!

画像7

これでボタン沢山つくれるようになりました!

コチラに3Dデータとともに置いておきます

この記事が気に入ったらサポートをしてみませんか?