ILDAハック

ILDA HACK

某R社が開発した、MOTUのオーディオインターフェース 828 を使ってILDAをコントロールするためのデバイスが山口が誇るミュージシャン・ドラびでおさんから使い方を探って欲しいとのことでまわり巡って今私の手元にあります。

そもそも何故828用かと言うと、このオーディオインターフェイス、出力の際に+-5Vの電圧が出力可能でこれがILDAの規格と凄く相性が良いのです。

http://www.lasa.gr.jp/downloads/text-isp.pdf

こちらのPDFの3ページ目にある通り例えばX(横方向のビーム位置)は

「ピークからピークが 10V の差動信号で、ビーム位置の水平方向を制御します。-5V でビーム位置を 左 方 向 のエッジ、+5V で右 端 、0V は水 平 方 向 のセンターを示 します。 」

とあります。つまり、この範囲内の電圧を与えればX軸、それからY軸のコントロールが可能になります。

では早速、Maxでサイン波を出してみましょう。

キチンと動いていますね。

で、この某R社が開発したデバイス。見た目の通りブラックボックス化されていて中身がどのようなものなのか外観からは分かりません。中を見てみたい衝動に駆られ何度か空けてみることを試みたのですが、ちょっとがっちりし過ぎて、壊してしまいそうだったので「想像は発明の母」思想にふけ、中身を想像してみることにしました。

ちなみに、このデバイスへの外部電力の供給は必要なく、レーザーの(鏡の)動きの原動力はすべてMOTU 828から出力される電力に頼っています。

あと、レーザーの仕組みはガルバノミラーという鏡がX軸Y軸に高速に動くことで絵や模様を描きます。ここでは仕組みについては割愛しますので、興味のある方はガルバノミラーとかガルバノスキャナーとかレーザーとかで検索してみてください。

私も個人的にレーザーのコントロールをするILDAをUSBで繋げるデバイスを持っています。

レーザー自体は電源を入れると何も繋がっていない状態だとプリセットされている絵や模様が出力される仕組みになっています。で、上記のUSBデバイスをILDAケーブルでレーザーに繋げると、信号待ちの状態になり、一点に集中してレーザー光が解き放たれます。ちなみにこの状態、非常に危険なので注意が必要です。対象が紙などの可燃性が高いものだと簡単に燃えてしまいます。私も初めてIAMAS時代に手にしたレーザーに電源を入れた際、領家町キャンパスの三階のロフトの壁をこれで焦がしてしまいました。「うわっ」ってなって焦って直ぐ消して、席の裏にいたD園くんにとにかく話をして落ち着こうとなりました。その時も彼はクールでした。

で、ちょっと逸れましたが話は「想像は発明の母」に戻ります。+-5Vでミラーが動くのであればArduinoの電圧で制御出来るのでは?-は難しいけど、取り敢えず+5は出力出来るので、それで何か出来るのでは?ということで、ここからハッキングタイムです。

まずは何より信号待ちの状態にしなければなりません。ここが一番難関だったんですが、私はてっきりロックを解除(色んな絵や模様が出る状態から、一点に集中してレーザー光が出る状態)するシステムがUSBから何かしらの信号が出ていて、それでロックを解除するのだと思っていました。しかし、某R社のデバイスは、何の信号を与えなくてもILDAケーブルを挿すだけでロック解除の状態になりました。

おや?

そこで、先ほどのPDFの2ページ目のピン番号を見てみます。4番と17番に安全回路とあります。うむ怪しい。またこちらのサイトにはインターロックA(インターロックBと接続することで解除)とあります。

http://www.lasershowware.com/topics/ILDA_standard/ilda_standard.html

早速、メスメスのケーブルを制作してそれぞれのピンが繋がるようにしてみました。IMG_4222

結果。ロック解除されました!

で、Arduinoに5Vのオンオフをする、恐らくArduinoの勉強を始める時に最初に習うBlinkプログラムをArduinoに流し込んで、Arduinoの13番ピンをILDAの1番ピン(X+)に、ArduinoのGNDをILDAの14番ピンにそれぞれ差し込んでみます。

結果。動きました!

レーザーの投射位置が変わっているのが分かると思います。

ちなみに、X+は右側のはずなのですが、私が所有するレーザーは作りがどうかしていて、全て反転するようになっています。なので、動きとしては正しいです。

次にFadeのプログラムを流し込んで試してみます。

予想では電圧が上がるにつれて段々X+側にレーザー光が移動すると思っていました。が予想と反して結構横一列になっています。そうか、そういえばArduinoのPWMは電圧のコントロールでは無くて、パルス派のデューティ比で5Vのオンオフを短時間で繰り返すことでLEDとかの電圧をコントロールしているのでした。つまり、常に5Vは出ているのでこんな動きになっているはず。

あと、同じプログラムでちょっと接触の仕方を替えたりすると予想しなかった動きとかになってこれはこれで面白かったです。原因は分かりません。

ということで、ILDAハックのメモ書きのようなものでした。また時間がある時に引き続きArduinoを使ったレーザーコントローラモジュールの制作をしてみたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です