Sponsored Contents

3dsの最新記事

Image credit:
Save

ひたすらAボタンを押すだけのヤツ、作りました:ウェブ情報実験室

半日もかからず作れるお手軽工作です

宮里圭介 (Keisuke Miyasato), @miyasa
2017年11月20日, 午後03:30 in 3Ds
93シェア
1
92,"likes":30
0

連載

注目記事

1億画素超えカメラ搭載スマホ、シャオミ「Mi Note 10」のグローバル版を試す。日本での発売に期待
12

1億画素超えカメラ搭載スマホ、シャオミ「Mi Note 10」のグローバル版を試す。日本での発売に期待

View

こんにちは、フリーライターの宮里です。

今年の5月ごろ話題になった、セルフ式ガソリンスタンドでボタンを連打する装置。覚えていますか? 安全や法律上の問題はありますが、システム側には手を出せないので物理的に対応した、という工夫は素直に感心する部分もあります。ということで、そんなボタンを押す装置を3DS用に作ってみました。

この記事は、身近にある「疑問」や「不思議」をゆるく検証する『ウェブ情報実験室』です

実験の目的

簡単で使いやすいAボタンをひたすら押し続ける装置を作る

動機

定期的にボタンを押すような単純作業の繰り返しであれば、自動化したくなるのはごく自然な発想です。セルフ式ガソリンスタンドのアレは論外ですが、ゲームであればマウスやキーボード、コントローラーなどゲーミングデバイスを使った複数キーを組み合わせたキーカスタマイズは一般的ですし、場合によってはある程度のマクロ操作まで許容されていることもあります。さすがにプログラムの書き換えや完全自動化ツールは不正行為になりますけど。

世の中には、半分寝ながらボタンを押すというテクニックを駆使してゲームを進める人もいるそうですが、さすがにこの操作は選ばれた人にしかできないものでしょう。特殊なテクニックを使えない凡人は普通にプレイすればいいのですが、そこは楽がしたい。

そんなわけで、「Aボタン押すヤツ作ってくれ」という声がどこからともなく聞こえてきたので、作ってみることにしました。

お約束ですが、この記事通りに作ってみても動かない、怪我をした、壊れた、データが消えた、アカウント停止を食らった等のトラブルが起きても責任とれませんので、必ず自己責任でお願いします。

実験対象


▲「とびだせ どうぶつの森」を遊ぶために購入した本体。そして、それ以外のゲームは買っておらず、事実上専用機でした。

ごくごくありふれたニンテンドー3DSです。もうずいぶんと使っておらず、SDカードに保存されたスクリーンショットの日付は2013年5月30日が最新でした。それはともかく、これのAボタンをとにかく押す装置を作るということで、まずはウェブで検索してみることに。


▲ボタン連打で楽をしたいと考えるのはみんな同じようで、ものすごくたくさんの作成例が出てきます。動画にしてる人も多いですね。

「あれ、これだけいっぱい出てくるなら作らなくてもいいかな?」などとも思ったのですが、調べているうちにこうしたい、ああしたいといった部分が出てきてしまったので、結局作ることに。とはいえネタとしての斬新さはないので、そーゆーのを求めている人は別の記事に期待してください。

実験方法

ボタンを繰り返し押す方法には、電気的な方法と機械的な方法があります。電気的な方法は555などのタイマーICを使ってパルスを作成し、それを使ってボタン入力の代替をするものです。10秒に1回とか、1秒間に100回といったように自由な間隔での入力ができますが、本体の改造が必要となるためハードルは高め。これに対し機械的な方法は、人が指で押すのと同じ動作を代行させるだけなので、本体への改造は必要ありません。セルフ式ガソリンスタンドが行なっていた方法ですね。

この機械的に押す方法ですが、いくつかの方法があります。1つ目は電圧をかけると軸が動くソレノイドを使うもの。任意のタイミングで押すことができるのは便利ですが、小さなソレノイドだと基本的に力が弱く、ボタンが固いと力負けして押せない可能性があります。また、オンオフ制御のための電子回路を作らなくてはならず、手軽さという面でもやや劣ります。


▲コイルに電流が流れると軸が動き、押したり引いたりできるのがソレノイド。動きが小さいのと、低電圧の品だと力が弱いのがネックです。

2つ目は任意の角度に回転を制御できるサーボモーターを使った方法で、ちょっとしたアームを付けるだけでボタンが押せるようになります。単純にサーボと呼ばれることもあります。ただ、やはり制御には電子回路が必要となるのがネック。Raspberry PiやArduinoで制御できるので、これらが使える人にはかなりいい選択肢でしょう。


▲ロボットの関節部分、ラジコンのステアリングやスロットルなんかに使われているサーボモーター。好きな角度に動かせるのでボタンを押すだけでなく、押し続けることもできます。

3つ目はステッピングモーターを使った方法。サーボモーターのように角度は指定できませんが回転角単位で動かせるため、低速から高速まで、好みの速さに調整できるのがメリットです。このステッピングモーターの軸にカムを装着し、回転運動を上下運動へと変えることでボタンが押せるようになります。ただし、これもやはり電子回路が必要。サーボモーターと同じくRaspberry PiやArduinoがあれば比較的楽に制御できますが、手軽とはいいがたいです。


▲回転角を制御できる特殊なモーターがステッピングモーター。ステッパーモーターとか、パルスモーターとか呼ばれることも。スキャナーやプリンター、CNCなど、正確な位置決めが必要な用途に向いています。

4つ目は最も簡単なDCモーターを使った方法で、ステッピングモーターと同じく軸にカムを取り付けてボタンを押すというものです。回転数がものすごく速いという問題がありますが、これはギヤボックスを使うことで低速化できるので、固定速度で使うのであれば問題ありません。実際、ボタンを連打する装置を作っている人たちが採用しているのが、このギヤボックスとモーターを使った方法です。


▲電圧をかけるだけで回るシンプルなモーター。ラジコンやミニ四駆にハマってた(ハマってる)人ならかなり詳しいと思います。安価で高速回転、力もそこそこ強いというメリットがあります。


といった前提を踏まえつつ、今回作るのはなるべく安く簡単にしたかったので、以下のような構成にしました。
  • 本体の改造がいらない機械式を採用
  • DCモーターを採用
  • ギヤボックスは市販品を使う
モーターとギヤボックスはタミヤさんのセット商品が便利なので、これをそのまま使います。また、ギヤボックスの固定や軸の支えなどには、同じくタミヤさんのユニバーサルプレートを使うことにしました。プッシュピンでパーツを固定できるので、ネジ止めも必要なくなります。これでさらに難易度が下がる......ハズです。


▲「シングルギヤボックス(4速タイプ)」と「透明ユニバーサルプレート(2枚セット)」を購入。「透明」を選んだのは、単純にこっちの方が安かったからです。

ちなみに、ギヤボックスに付属するアームでは足りなかった場合のために「クロスユニバーサルアームセット」も用意していたのですが、付属のアームで問題なかったので今回は使ってません。この他でっかいギヤとかプーリーのセットまで理由をつけて買いそうになりましたが、グッとこらえました。大人なので。


モーターを動かす電源は、最初は電池を使うことを考えていたのですが、長時間使うとなると電池切れが気になります。ということでUSBを使うことにしました。USB ACを使えば電源を気にすることなく長時間使えますし、モバイルバッテリーを使えば、コンセントに縛られることなく移動できますしね。これに使うUSBケーブルは、そこらへんに転がってる不用品を再利用しました。

これ以外にも結束バンド、粘着テープの付いた緩衝材(EVA)などを使用しました。この辺は代替品がいっぱいあるので、手元の材料で見繕うといいでしょう。

実験結果

ろくに設計図など書かずにフィーリングで作り始めてしまったので、作成中の写真も撮ってないというゆるい感じですが、シンプルなものなのでなんとなく伝わるかと。実験結果というか、加工した部品の紹介といった感じで進めていきます。

まずはメインとなる部品を見ていきましょう。部品は大きく3つの部分からなります。


▲「1.上面(ボタン面)プレート」「2.下面プレート」「3.ギヤボックス+モーター」です。

1.上面(ボタン面)プレート
今回最も加工した部分となります。加工といっても、モーターが載るスペースを見つつ現物合わせでプレートを切って長さを詰めたことと、ボタンにぶつかる部分に穴をあけただけです。A/B/X/Yボタン部分はドリルで適当に穴をあけた後、不要部分を更にカッターやニッパーで切り取り、ヤスリで仕上げました。


▲A/B/X/Yの各ボタン、そして電源ボタンにプレートがぶつからないよう加工していきます。この工作で一番大変な部分です。

最初はボタンにぶつからないようプレートをずらそうと思ってたのですが、3DS本体と装置との固定方法を色々と考えているうち、多かれ少なかれ加工が必要だということに気づき、それならばとボタン部分をくり抜きました。左下の部分は電源ボタンにぶつかってしまったので、切り取っています。


▲こんな感じで、4つのボタンにぶつかることなく穴があけられればオーケーです。ちなみにA/B/X/Yボタンのサイズですが、DSシリーズで互換性があるようで、DSi LLに当ててみたところこちらでもぴったりでした。

なお、緩衝材が貼られていますがこれは下面プレートとのスペーサー代わりです。約4mm厚のEVAを3枚重ねていますが、3DSの厚みに合わせ、よさそうなものを見繕っておいてください。押すと少し凹むけどしばらくすれば元に戻るという素材がベターです。ちょうどいい厚さにならない場合は、厚紙などを切って追加するといいでしょう。ちなみにこれは、100均で見つけた家具用の床傷防止商品。半分に切っています。


2.下面プレート
3DS本体の下に敷き、上面プレートと挟み込むことで装置を固定しようと考えたため、必要となったパーツです。なんと、無加工。丸々1枚使っているだけです。これを無加工のままにできた自分を褒めたい。こちらも緩衝材が貼られていますが、上面プレートと同じものを使用しました。装置をつけた3DSが滑らないようにしているだけなので、ゴム足でもなんでもいいです。


▲滑り止めにつけているだけなので、スペーサーで使ったものの余剰品で。ここではすでに貼られていますが、本来は装置が完成し、動作確認が終わった最後の仕上げで貼ります。


3.ギヤボックス+モーター
ギヤ比を「12.7:1」から「344.2:1」まで4つの速度に変えられるギヤボックスですが、高速連射ではなく、定期的なボタン押しに使うので一番遅い「344.2:1」で組み立てます。組み立ての図は1枚ですが非常にわかりやすく、迷うことなく組み立てられるでしょう。ギヤボックスが組みあがったら、USBケーブルをモーターに半田付けしておきます。


▲タミヤさんのキットは小学生の頃あこがれ、ちょっと複雑なものを買ってもらえた時はワクワクしながら組み立てたものです。全部自分で作りたいのに、勝手に親が手を出してきて悔しかったのを思い出しました。しかも間違えやがるし。チクショウめ。


付属のアームをカムにしますが、そのまま使うには長すぎるので、これを適切な長さに切り詰めます。長さとしては、上面プレートにギヤボックスを付けたとき、プレート面ギリギリに当たるくらいを目安にしました。


▲付属のアームはカムとして使うために加工。長すぎるとプレートにぶつかって回転できなくなりますので、削りながら調整していきます。ヤスリは必須。

正確な長さにできることに越したことはありませんが、今回の構造ではこの長さは多少違っても調整できるので、それほど几帳面になる必要はありません。カムの端は丸くして、角がないようにしておきます。後はヤスリをかけてなるべく滑らかにしておけば大丈夫でしょう。


まだ加工が必要な部品が残っていますが、残りは組み立てながらで作っていきます。

組み立てといっても簡単で、上面プレートにプッシュピンでギヤボックスを固定。カムを装着。上面プレートの下にスペーサー代わりの緩衝材を貼り、3DS本体の厚みに合わせて結束バンドでとめるだけです。


▲上面プレートにプッシュピンでギヤボックスと軸受け材を装着。軸受け材がある方がブレが少なくなりそうなので付けていますが、なくても平気かも。軸受け材を省略するなら、上面プレートはもっと短くできそうです。


▲スペーサーとなる緩衝材を貼って結束バンドでとめれば、メインの組み立ては完了です。スペーサーの高さと結束バンドの締め具合は、3DSに装着しながら決めます。

結束バンドではなくねじ止めした方がよりしっかり固定できるのですが、モーターの振動でねじが緩むのを嫌ってこちらにしました。結束バンドは100均でも売ってるので入手しやすいですし、失敗してもスペアはいっぱいありますしね。

この構造のメリットは、3DS本体との着脱がしやすい事。端の方をつまむとスペーサー代わりの緩衝材が縮み、結束バンド部分を支点にしてボタン穴側が少し開き、簡単に装着できるわけです。取り付けのしやすさと抜けにくさは結束バンドの締め具合でだいぶ変わるので、微調整してください。このシンプルながらも着脱しやすい構造としたのが、<工夫ポイントその1>です。


▲端でグッと力を入れて緩衝材を少し潰すようにすると、ボタン穴側が開きます。この状態で本体に挿し込んで手を離せば、装着完了というわけ。簡単。


ここで、カムの位置合わせをしておきましょう。シャフトを固定しているイモネジを緩めて動かし、ちょうどAボタンの上にカムがくるよう位置を調整します。イモネジが見えない場合は、ギヤを爪楊枝などで回して見える位置まで回転させます。ちなみに、シャフトを長くすればYボタン、モーターの位置を変えればX/Bボタンの連打にも対応できる......ハズです。この柔軟に対応できる構造にしているのが、<工夫ポイントその2>です。固定もプッシュピンなので、簡単に着脱できますしね。ちなみにカムさえ作れるのなら、A/Yボタンの2つを連打するというのも可能でしょう。微調整が難しそうですけど。


▲シャフトの長さバランスで押すボタンを変えられます。今回はAボタンなので、Aボタンの穴に合う位置に調整。上や横から見て、ちょうど穴の位置にくるようにします。


これでほとんどの部分が完成しますが、カムを上面プレートのツライチに合わせているため、ボタンまで届きません。この隙間を埋めるため、1×2×12㎜くらいの小さな角棒を作ります。たまたま手元に1×2mmの竹ひごがあったのでこれを使いましたが、材料はプレートの端材でも割りばしでも何でもいいです。押して凹んだり折れたりしない硬さがあれば大丈夫です。

これをAボタン用にあけた穴にはめ込みますが、ゆるく動くようにヤスリで微調整しておきましょう。また高さも調整し、カムの最下点でちょうどボタンが押される高さにします。カムを精密な長さで作らなかったぶんを、この隙間パーツで調整するわけですね。


▲適当な材料で現物合わせしながら削っていき、仕上げは紙やすりで。失敗してもいくらでも作り直せるので、カムを精密に加工するよりよっぽど楽です。

なお、なぜ直接カムでボタンを押すようにしなかったかといえば、カムで押すとボタン表面をこすることになり、傷がついてしまう可能性が高いからです。そのため、カムとの接触は隙間パーツに任せ、押す動きだけボタンに伝わるようにしました。ここが<工夫ポイントその3>です。


▲隙間パーツをボタンの穴に入れた後で、表面にテープを貼りましょう。テープ表面のすべりやすさでカムの動きが滑らかになり、そして粘着面で隙間パーツが外れないという、一石二鳥の固定方法です。

モーターを回して隙間パーツが厚すぎたり薄すぎたりしないか確認。3DSを起動し、しっかりとボタンが押せることが確認できれば完成です。ちなみに、カムが押してもボタンが入力されない空振りが多い場合は隙間パーツが薄い証拠。逆に、カムが押すと装置の上面プレートが浮いたりするのは隙間パーツが厚い証拠です。上面プレートが浮いたり曲がったりしなくなり、空振りが起こらないというのが理想の厚みです。厚ければヤスリで削り、薄ければボタンの上に丸く切った紙を置くなどして高さ調節をするといいでしょう。なお、構造上隙間パーツはなくしやすいので、予備でいくつか作っておくと安心です。


基本的にはこれでいいのですが、ちょっとした問題というか不満な点があります。いくらギヤボックスが344.2:1とはいえ、USBの5Vで動かすと秒間1回以上ボタンを押すことになり、場合によってはボタンを押しすぎる可能性があります。押しすぎること自体はそれほど問題ではなくても、このままだとギヤボックスの騒音が結構大きく、ちょっと使いたくありません。

電池ボックスを使って乾電池1本とか2本とかで動かせばゆっくりにはなりますが、それでも段階的にしか変えられません。何より、安定した電源として手軽なUSB ACが使えなくなるのが痛手。ということで、ボタンを押す速度を任意に変えたいのであれば、PWMコントローラーを追加するのがオススメです。自分で回路を組んでもいいですが、なるべく楽がしたいのでモジュールとして売られているものを活用します。この速度を可変にするというのが<工夫ポイントその4>です。


▲モーターの速度調整に最適なPWMコントローラーを装着したところ。ボリュームで速度を任意に変えられる優れものです。穴の位置が少しずれてましたが、プッシュピンで固定できました。

実はこのPWMコントローラーは過去の記事で何度か登場していて、色々と使える便利な子です。多少工作をする人であれば持っていて損することはないので、これを機会に購入してみてはいかがでしょうか。ちなみに、ShopUさんから購入できます。ついでにワニ口クリップ付きのUSBケーブルも買っておくと、実験に大変便利です。

Amazonのマーケットプレイスでも類似品があるようなので、そちらで買うのもありでしょう。



結論

ということで、なるべくシンプルな構成で作れる自動ボタン押し装置ができました。ポイントをまとめると、

1.ワンタッチで着脱できるシンプルな構造
2.シャフトとモーターの位置を変えることで任意のボタンに対応
3.ボタンに傷がつきにくい構造を採用
4.PWMコントローラーの追加でボタンを押す周期を任意に設定


あたりになります。装着した状態でもそれなりにコンパクトですし、多少外れやすいものの移動も簡単にできるので、結構使いやすくできたのではないかと自画自賛しておきます。誰も褒めてくれないもの。

なお、作りがシンプルなので改良の余地はまだまだあります。3DSと下面プレートの間にすべり止めを入れるとか、スペーサーの緩衝材をバネにしてクリップのように着脱可能にするとか、小型化するとか、モバイルバッテリーを搭載するとか、ギヤボックスを変えて速度変更するとか、DCモーターではなくサーボモーターやステッピングモーターに変更するとか......。色々試してみると面白いので、気になる部分はじゃんじゃん改造してみてください。



広告掲載についてのお問い合わせはad-sales@oath.com までお知らせください。各種データなどはこちらのメディアガイドをあわせてご覧ください。

関連キーワード: 3ds, Nintendo3ds
93シェア
1
92,"likes":30
0

Sponsored Contents