2015年6月2日火曜日

Studuinoを深堀りしてみる

タイトルに即した内容だけ先に書いておきます。

Studuinoのライブラリを眺めたり回路図を眺めたりしていて、どうもこれはArduino Pro 3.3V 8MHzなんではないかと思って、boards.txtのbootloaderファイル名の定義を見たら、optiboot_pro_8MHz.hexでして、ずばりでした。ただ、昔買ったPro基板のbootloaderはスケッチを書き込んだあと、オートリセットがかからず手でリセットボタンを押して時間内に書き込み開始しないといけなかったのですがStuduinoはちゃんとオートリセットするわけで、なんだろうと思っていたら、Adafruit創業者Lady Adaのbootloader hackを反映しているようですね。ATmega328向けその他含めてTyler Cooper (Mr. Ada)の署名記事に改稿されてますけれども。bootloaderに歴史あり。

Ms. Limor Fried(MIT Media LabでMEとってるんですね)の足跡というのか、Arduino.cc版ハードウェア生産拠点がAdafruitになった理由は十分と納得した次第であります。

さて以下、タイトルに反してあまりStuduinoの話ではないわけですが、カタログを丹念に調べていて気づいた点についてうだうだと。

まず、Studuinoのダウンロードサイトですが、突然の充実に驚いた次第。まず、ドキュメントがたくさん。あと、Arduino 1.6.4に公式対応したり、更新情報のリンクがついたりと、利用しやすくなりました。

それで、多数の新しいドキュメントのなかで、5月のカタログに掲載されていない「可視光通信対応環境」あたりにおののくわけでして。地味に「ブロックプログラミング環境」の1.x版(いつのまにか、新センサーモジュール類対応の2.x系がある)がありまして、その使用法が書かれているわけです。

これは学校のWindows PCでインストール一切禁止になっていてUSBドライバが入れられないケースは多々あるわけですが、その対策として、記憶によればスズキ教育ソフトがかつて「キューブカート」というロボットカー制御プログラミング学習セットを販売していたときに初めて商品として実装したやつなんではないかと思うわけです。もし違っていたらすみません。一応ダウンロードサイトが残っていたのでリンクしておきます。で、どうやるかというと、当時ですとCRTですが、要するにPCの画面に黒背景に白い四角を2個点滅させて、シリアルでデータを表示するのをフォトトランジスタやCdS等でロボットカーの制御基板が読み取って、それでPC側で作成したプログラムを転送するしくみ。ざっくり考えると片方がクロックでもう一方がデータだろうと、SPIみたいにだらだら流せばいいんだろうなというように想像するわけです。

そういう懐かしい手法がいまだに有効というか必要とされるところに愕然としながらもいろいろ深堀りしていたら、アーテックにも歴史あり。「PCプログラミングロボ」というのがありました。こちらはCdSを子どもが自分ではんだづけして、紙工作した窓に貼り付けて、それを画面にはりつけてプログラムの転送する形。んで、そのプログラミング環境がStuduinoの「アイコンプログラミング環境」そのものの画面であったという発見がこのエントリのひとつ。

新たに開発したにしてはどうも地味な扱いだなと思っていたわけですが、過去の資産というか、これで長年授業実践していた先生方をこちらに引き寄せるために必要だったんだなーと思った次第。でもその四角点滅の「可視光通信転送」はScratchのみで実現して、Scratchへの移行を促す戦略なのかとほのかに思ったりしました。正しいと思います。

あともうひとつ。StuduinoでDCモータやサーボモータを制御してロボットを組み立てるわけですが、アーテックは自前のプラスチックブロック「アーテックブロック」というのがありまして、実際に組んでみるとLEGOブロックの精度がいかに驚異的なのかということにしみじみするわけですが、それはともかく作例に倒立振子の写真があって、大きな車輪を使っているのですが、それはRobotistというアーテックのロボット制御ブロックキットには入っていないわけです。あるのは小さな黒いプーリーとゴム輪で、プーリーは回転軸をもつブロックに組み付けられるようになっていますが、それだけ。大きな車輪は赤いのですが、そもそも赤系統のブロックは「ロボティスト T.Rex」とか小学生向け風味のほうであって、中学生以上向けのシリーズは青白系のブロックなわけです。

でも、カタログをじっくり見ていたら単品販売してました。「ギヤ大 30歯 8ピース」(どうも8個入りらしい)と「タイヤゴム Φ70mm 2ピース」(2個入りらしい)の組み合わせと同じ形をしていました。タイヤゴムはトレッドが入っていかにも倒立振子を比較的楽に安定させるのに必要な路面との摩擦が十分にありそうです。ゴム輪では簡単に滑ってしまいそうな心配があるのと、ギヤードモーターの回転数では十分細かな制御ができそうな径がないということもあります。ゴム輪に対応するプーリーはΦ38mmだそうです。