2008/01/08 火
トランスバイブレーターをMacでUSB制御する
「PS3でRez+トランスバイブレーターを遊ぶ」でも紹介したUSB振動ユニット「トランスバイブレーター」は、パソコンからもUSBで制御することができます。例えば、CatHandさんが作成された「Vibrator 0.2」というMacアプリを使うと、スライドバーで振動具合を制御して遊べます。
動画にしてみたのでご覧下さい。ブルブル震えているのがわかるでしょうか。
すごくシンプルなハード&ソフトですが、なかなか楽しいですよコレ。USB制御できることがわかると、複数個つなげて遊んだり、ネットワーク越しに相手のトランスバイブレーターを振動させたり、と夢が広がります。改造したり互換デバイスを作るのも面白そう!
おそらく世界で一番シンプルなUSB機器だと思うので、制御プログラムやドライバ作成の入門にもよいかも。「オレもプログラム書きたい!」と思った人は続きをどうぞ。
Macでトランスバイブレーターを制御する具体的な方法は、同じサイトの「CatHand Development [USB機器の制御]」を見て頂くのがよいと思います。MacでUSB機器を制御する例としてトランスバイブレーターを取り上げており、「PS3のコントローラー「SIXAXIS」をMacにUSB接続する」のコマンドを作るときも参考にしました。例はMacプログラムですが、APIの使い方以外は他のOSでも同様です。
コマンド送信部分をUSB仕様っぽい書き方でおおざっぱに書くと、コントロール転送を使ってホストからデバイスへベンダー定義のコマンドをインターフェイスに送信している、という感じです。トランスバイブレーターに送信できるベンダー定義コマンドは振動値設定の一種類のみのようで、これを使って振動の強さを0から255まで設定できます。
USB仕様のことを多少理解していないとソースを見てもよくわからないかも知れません。興味のある方は、下記の本や「どすぶいだにょ☆」第2号のP.60 (PDF上ではP.62) などをご覧になるとよいかと思います。より詳細な仕様は、USB本家の「USB.org - Documents」からどうぞ (英語ですが)。










