見出し画像

バイブレーションモーターをWiFiで遠隔操作してVRとかで動かせるようにする

はじめに

noteの規約に以下の文章があります。

以下に該当するデジタルコンテンツの掲載は禁止します。
<中略>アダルト、性的、わいせつ的、暴力的な表現行為、その他過度の不快感を及ぼすおそれのあるもの、およびそれらのサイトへのリンクがあるもの。

バイブレーションモーターは該当しない為、問題ないでしょう。

目的

インターネットやらVRやらで物理的な壁は縮まりつつあるのに、未だに身体的知覚上の行為はお一人様なの、可愛そう。
ならば、私がPC上(VR上も属する)で操作可能な某身体知覚をいじれるデバイスを提供してみましょうか。
あらゆる物理的距離を破壊することを教義とする現代社会において、これは社会的義務のように感じられます。

作成するデバイス

WiFIでどのPCなどのインターネット使えるデバイスからも操作出来る(つまりP2P出来る)バイブレーションモーターの搭載された身体知覚をいじれる普及しているデバイス。

細かい仕様は出来てから言うけど、基本的にUDPやらWebSocketやらで通信してモーターの回転数を制御する。終わり。

活動報告

機材の購入

まずは無線で動くやつを購入しましょう。出来が良いなら、それをちょこっと改造すれば実装出来ます。

AliExpressで500円くらいなのを購入しました。

到着してすぐに分解したので、残骸しか残っていませんね。一切の規約違反要素はありません。

機材の解析

謎の紐、どうやら無線アンテナだったようですね。防水加工の為にパッキンも入ってて、価格の割にしっかり作られた製品だと思います。
また、思ったよりでかいですね。(平均的な男性のものより一回り太い)これならば、自作基板埋め込みをやりやすそうです。
仕組みとして、なんかの無線(アンテナが微妙に長いので300MHzくらいの何かでしょうか)で制御しているみたいです。
出来は価格なり(感度が悪い上に、制御にマイナー規格の電池が必要)ですので、どうせなら予算を充填して作り直しましょう。どうせなら、PCからいじれるようにします。

方針制定

PCからいじれる無線手法として、有名なのは2種類あります。BluetoothとWiFiですね。
その内、Bluetoothはライセンス料がべらぼうに高いので除外(1製品40万。初めて出すなら結構安くなるけど、それでも痛手)。WiFiが妥当でしょう。
消費電力の問題(LED20個分ぐらい使う)はありますが、目的からして他の無線手法は使えないので。

どうせWiFiでいじるならば、インターネットに繋がるどの環境からでもアクセス出来るようにして、超遠隔操作を可能にしましょう。
通話なりVR上の所業なりに捗りますね?

元の基板は出来が良くない(電波飛ばしてパルス作ってるだけ。価格を考えると優秀だが、WiFi使えるMCUあるならいらない)ので、全部MCU(ちっちゃくて安くて低性能でOSは入ったり入ってなかったりするパソコンもどき)で制御してしまいましょう。
候補は2種類あります。

  1. ESP8266
  2. ESP32

どちらも、安い(8266は300円、32は400円)、高性能(WiFi飛ばせてWebServerも立ち上げられる)、高実績(安いIoTリモコンによく入ってる)で有名です。
消費電力がやばい、動作が割と不安定といったデメリットがあるものの、価格は大事です。
8266と32を比較しますと、32は数倍性能が向上しているものの、でかくてデバイスに入るか怪しく、消費電力もやばく、仕様のアクが強いです。(渋柿みたいな感じ)
反面、8266は性能はそこそこですが、アクがそんなに強くないので、こちらでいいでしょう。

理念実証その1(無線で動かす)

ESP8266にOSCでUnityと通信出来るようにしました。
IP表示がめんどくさいので、Serverを立ち上げREST API的なのでIPとPortを取得出来るようにしました。
MCUから直にモーターは動かせない(モーターは消費電力がやばい)為、MOSFET(MCUで制御出来るスイッチ。これがあると直に動かさなくて済む)挟んで動かしました。(この写真のこのデバイスは技適(国家みかじめ料)取ってないので、写真用に特別にSerialでなんかいい感じに動かしてます)

↑実はこの写真、この記事の為に繕えたものなので、配線は多分めちゃくちゃです。

モーター、飛びました。

パルス信号、つまり超高層ON/OFFを、今回は1秒に2000回程度の速度(これを2000Hzと呼びます)で動かしていたのですが、モーター側からすれば労働基準法違反。
激安の殿堂たるこのバイブレーションモーター(10個200円)は、耐えられずすぐにハレルヤしてしまうのです。
これを防ぐ為には、高速ON/OFFをなんかいい感じに和らげてくれるフィルターが必要になります。
多分ローパスフィルター(詳細はぐぐって♥)だと思うのですが。

続きは、新しく発注したモーターが届いたらやります。

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