レゴマインドストームRISの復活 (電子部品の交換・改修)
20年近く前のレゴマインドストーム Robotics Invention System (RIS) 2.0(下の写真)が手元に残っていますので、それを又使ってみたいのですが、Windows10で使いこなすのはなかなか大変そうです。そこで、使えない電子部品を類似品に代替することにより、古いマインドストームを使えるようにしてみました。
マインドストーム Robotics Invention System (RIS)
RISは、2000年前後にレゴから発売されていた、ロボットを作るためのセットです。コントロールユニットとモーター、センサーなどにビーム、ブロックが組み合わされたセットです。
下は、RISの説明書から切り抜いた作品例です。
ブロックなどのパーツについては今でも特に問題なく使えそうですが、電子部品はそのまま使えるとはいえません。以下に改造方針を書きます。
改造方針
RISの電子部品としては、コントロールユニットRCX、モーター、光センサー、タッチセンサーなどがあります。
コントロールユニットRCXは、ロボットの中枢です。
PCでプログラミングし、できたプログラムをRCXに転送し、ロボットの各パーツを制御します。下の写真の中央がRCXです。三方につながっているのはセンサーです。
ただし、上のRCXはWindows10では動きませんので、これを活かすのには相当な困難があります。少し調べてみましたが、私の実力では対応できる可能性がほとんどないことが分かりました。そのため、ここでは、RCXをmiciro:bit一体化モジュールで代用することを試みました。
光センサー(上のRCXの写真の青いブロック)は、LDと受光Trを内蔵し、距離を測定します。光センサーについては、同じサイズのレゴブロックに組み込み、新たに作りました。
タッチセンサー(上の写真の黒いブロック)は、端子のみを付け替えるだけで済ませました。
モーターは、下の写真のように接続されています。モーターも、端子のみを取り替えることで済ませました。
以下に具体的に改造内容を書きます。
なお、ケーブルの皮膜部分が相当劣化しており、後日ケーブルを全面的に取り替える必要が出るかもしれません。
コントロールユニットRCXの代替
miciro:bit一体化モジュール(下の写真)でRCXを代替しました。一体化モジュールとは、micro:bitに電池、モータードライバーなどを一体化したもので、詳細については、このブログの「micro:bit+モータードライバ+電池 一体化モジュール(V2)を作ってみました」を参照してください。なお、RCXと他の部品の接続端子がブロックになっているのに対し、一体化モジュールではインラインの2p又は3pコネクターを使っています。
RIS用の一体化モジュールの端子は標準では以下のようにしてあります。
- p14,p15,p2,p8 モーター端子(2CH)
- p5,p11 タッチセンサー(ボタンAとBに対応 mcエディターでイベントとして使える)
- p0,p1 光センサー
端子は自由に設定できますので、Scratchでも使えます。
幸いなことに、RCXと一体化モジュールは、偶然にも、サイズがほぼ同じでした。様々な作例で置き換え可能なのではないかと思います。
光センサーの改造
RISの光センサーはケーブルが2本しかありませんので、給電と距離情報の伝送を時分割で行っています。従って、今回の改造では、正規の光センサーの利用はできそうもありませんので、新たな光センサーを作成しました。
ここでは、赤外線発光ダイオードと赤外線センサーを組み合わせた、反射型IRセンサーTCRT5000をレゴブロックに組み込んでみました。
LDで赤外線を発光し、反射してきた光を光TRで受け、電圧に変換します。反射の距離が短くなると明るさが増し、電圧が下がりますので、それを検出して距離を判定することができます。又、黒地、白地で反射量が変わりますので、ライントレースに使うことができます。
下は、作成した光センサーの写真です。2✕4のブロックに組み込み、底にプレートを付けてあります。
なお、電源はArduinoであれば5V、micro:bitであれば3.3Vになります。
タッチセンサーの改造
スイッチはそのまま用い、ケーブルに抵抗を挿入し、端子を取り替えました(下の写真)。スイッチが押されると、出力ピンが接地されます。回路図は掲載しませんが、光センサーのTrをスイッチで置き換えたような回路です。
モーターの改造
端子のみを取り替えました。RISでのモーター駆動電圧は9V程度のようです。4.5V程度でも十分動きます。
ケーブルの写真は省略します。
プログラミング
RCXを使えるのであれば、説明書に書かれた各作品に対してプログラムが用意されています。しかし、RCXを使えない場合は、自分でプログラミングする必要があります。その際は、MakeCode Editor for micro:bitなど、いろいろなツールが使えます。詳細は別の記事に書きます。