普通にLEGO Spyboticsで遊びたい人は、Spybotics (よい子編)に移動しましょう。ここは、普通ではない遊び方をしたい人のページです。
まだ未完成なので、この先内容を変更追加します。間違いを発見したり、「こんなことを調べてほしい」など要望があれば、ご連絡ください。
CPUは基板にワイヤーボンディングされ、エポキシコートしてあります。全体としてとてもコンパクトにまとまっているぶん、左上のFuseがとても大きく感じますね。マイクロFuseにしなかったのは、Hackerな皆さんへのサービスかもしれません B-)
左端に赤外線受信モジュールが2個あります。これで、リモコンがある方角をセンスできるようにしているようです。
カプラーとリンクする受光素子/LEDが見えます。いずれも可視光です。
PCとは、38kHzの変調はなく、Base bandで通信してます。このため、光センサー/光線出力と兼用になってます。
駆動部です。扁平型のコアレスモーターから2段減速して出力軸につながってます。
ワンチップ構成です。チップの詳細は不明でLEGO独自の印刷がしてあります。
Base Band通信の為、非常にシンプルな作りになっています。
変調がないので、外乱光には抵抗力がなく密着させることで、エラーを防止してます。
NQC 2.5.a1は、Spyboticsをサポートしていて、RDS同等に独自のプログラムを作成しSpyboticsをProgramingすることができます。
OUT_A |
右モータ |
OUT_B | 左モータ |
OUT_C | LED |
SENSOR_1 | タッチセンサ |
SENSOR_2 | ライトセンサ |
MIDI FileをMindStormsで演奏可能な、プログラムに変換するコンバーター、Midi2Lsc, MidiStormsが出力したfileはSpyboticsでも、実行可能か一応確認しました。
もちろん、実行可能です。SpyboticsのPlayTone(freq,timeは、ffreqとして、定数だけでなく変数を与えることができます。これ自体は、Midi2Lsc, MidiStormsの拡張につながりませんが、下記、Line Traceで行ったように、インジケーターとして使用することができます。
NQC Progrmの例として、Line Traceを行ってみました。
メカ担当、daichiX。Programing担当macの合作です。
センサーと投光部から光ファイバーを伸ばしてラインを捕らえます。
ロボット名: Long Nose (^^)
はじめは、もうちょっと高速に移動させたのですが、投光部のちらつきや、その他外乱であまり安定動作しなかったので、2段減速にして速度を落としました。
GigaMash G60に入っていた部品だけで、組み立ててあります。
NQC Programは、ここに置きます。Spyboticsには、RCXのようなLCD表示機がありません。このため、「白」、「黒」のセンサー値を読みとり閾値を設定するのが困難です。このため、走行前に「白」、「黒」の値を読み取らせ、自動的に閾値を設定するようにしました。この場合でも、値そのものを表示できないので、センサーが正しく値を読んでいるか確認できません。読み取った明るさを音の高さにして、スピーカーから発することで、この問題を解決しました。
動画をMPEG-4(1564kB)、Real Vedio(433kB)で作りました。ただし、Programが古いバージョンで撮影したため、LEDがちらついてます。現バージョンはちらつきません。
Lnog Noseは、「基本セット縛り」だったので、この制限を解除し、もっと高速なライントレースに挑戦しました。
動画はここに置きます。
あまりはっきりとしたエラーではないのですが、このライントレースのプログラムを実行中、モーターが逆転するというエラーが起こりました。プログラム自体が動作しなくなるのではなく、光センサーの値によりモーターが正しくOn/Offするのですが、回転方向がプログラムしたのとは逆になってしまうのです。
電池を抜いたり、プログラムを再度ダウンロードすると、正常に戻ります。今のところ原因は不明です。
なお、ほかのMindStormsシリーズ、CyberMasterは電池を抜くとプログラムが消えますが、Spyboticsは消えません。おそらくFlash ROMに書き込む仕組みになっているのでしょう。そうなると、電池を抜いたことで、プログラムが正常復帰したのが、ますます謎なのですが...
Spyboticsには、標準でリモコンが付属します。本体といったいどのような信号で通信しているのでしょうか?赤外線データーを傍受してみました。
Spyboticsのリモコンは、76kHzで変調された、4800bpsの信号を送信していることがわかりました。
上図は、参考の為、専用リモコンの送信波形を、Spyboticsリモコンと同じスケールで示したものです。
また、 MINDSTORMS SDK 2.5、USB IR Towerは、4800bps, 76kHzの信号を送信できる事がわかりました。このモードに切り替えるAPIが明らかになれば、SpyboticsをPCからUSB IR Tower経由で制御できるようになるでしょう。
# 追記 : 熟読したら、MINDSTORMS SDK 2.5には、上記の事を行うのに十分なリソースが含まれていました。これについては、LTreme76, JoyBricxのページに詳細を記します。
MINDSTORMS Japan 掲示板にて、zenzenさんが、#8539MANASのコントローラーで、Spyboticsを制御でき1〜3のリモコンコードも対応していることを発表されました。
早速追試を行ったところ、互換性があります。
つまり、MANASのリモコンを1にセットした場合、Spyboticsのリモコンで、チャンネル1にセットした、Spyboticsを制御可能です。チャンネル2,3についても同様です。
また、チャンネル1にセットした、Spyboticsのリモコン--具体的には、リモコンのスイッチを中央の錠マークに合わせ、ボタン1を押したのち、鍵マークを押した状態--で、チャンネル1またはALLにセットしたMANASを制御できます。こちらもチャンネル2,3についても同様です。
Copyright 2002