2012年5月22日火曜日

Scratch Day 2012 in Tokyoで話して来ました

去る5月19日(土)・20日(日)に行われた、世界規模のScratch Day 2012イベントの一つ(in Tokyo)で、「小学校フィジカル・コンピューティング」の実践について話してきました。
#セミナーで講演するのとワールドカフェで1テーブル頂くことになっていたので、20日のみ参加しました。

講演では、急場づくりのプレゼンが上手く動かず、見苦しい姿を晒してしまった(講演後に原因が判明して悶絶)のですが、公教育の場が如何に閉塞的であるかということを挟みこみながら、兎にも角にも、公立小学校でもScratchや様々なデバイスを使った授業ができるのだということを話してみました。正直なことを言えば、私のような実践を行うのは一般的でなく、ラッキーな特殊事例と言えると思います。しかし、一方で現状のScratchを中心としたプログラミングやフィジカル・コンピューティング的な学習活動は、公立学校外(場所もカリキュラムも)での活動が多く、その意味で「特殊」なのだろうと思っています。Scratchの学習における効果やその効果的な活用を考える上で、「普通の公立小学校」で「普通の子どもたち」に使ってもらうことは、研究的な意味からも需要が高いのではないかと自負しております。
#「学校」にこだわる必要はないと言われてしまうとそれまでなのですが…。(^_^;;;

私が講演した「フィジカル・コンピューティング環境を活用して豊かな未来を創る子どもたちを育てる -ScratchとPicoBoardで人と人とをつなぐコミュニケーションツール作り-」は、総合的な学習の時間で行った実践でした。分野としては、情報教育でもあり福祉教育でもあり、言葉を扱う点では国語や外国語活動とも言えるし、光や音の性質を利用する点では理科とも言えます。最終的には、ものづくりや表現する活動を通して、ヒトとは何か、コミュニケーションとは何かを考えさせる活動でもありました。その過程で、「問題を解決する力」や「思考・判断・表現」の力を身につけさせることを狙いました。20分間の講演(時間オーバーして申し訳ありませんでしたm(_ _)m)では伝えきれなかったことがたくさんありましたが、素人が一生懸命頑張ったことだけは伝わったかなぁと思っております。(^_^)
#今年はSPPに採択されなかったので、これまでのものを使いながら「何か」をする予定です。

 ワールドカフェでは、現役の先生や保護者&お子様などさまざまな立場の方々と話をすることができました。実際にPuppyで作った環境についても触っていただくことができて、細々と作ってきたCDも20枚ほど配布することができました。「子ども専用」のPCがない場合には、PuppyなどのCD/DVDブート(USBでも可)のOSで個人の環境を構築するのが最も簡単で安全だと思います。また、保護者の「お古のPC」を子どもに使いまわすとしても、実用性を考えると軽いOSが良いだろうと思っています。その意味で、潜在的な需要はあるかなという手応えを感じました。

一方で、公教育の現場にこうした環境を持ち込むことについては、導入やメンテナンスのコストを考えると、やはり難しいことを再認識させられました。ソフトウエアだけならタダで大丈夫ですが、ものにはカネがかかりますので、ハードルが高くなってしまうのです。さらには、こうした学習活動の価値を理解してもらえなければ先生方の実践には繋がりませんので、まだまだ道程は長いと言えると思います。

前途は多難ではありますが、新しい教育の可能性や方向性を考えながら、細々と実践を続けていこうと思っております。ご来場頂きました皆様とこのイベントを支えて下さった皆様に感謝しております。ありがとうございました。

2012年5月5日土曜日

Scratchから無線でモータを動かす(3)〜MacでXBee ZBの設定完了

前回までにだいぶ苦労をしたので、今回は確実な方法で行くことにします。敷居が高いと敬遠される可能性もありますが、ターミナルソフトを使ってATコマンドを叩くという地味な作業です。X-CTUでできると良いのですが、FirmwareのUpdateは無事にできるようになったものの、細部の設定がうまくいっていない様子が見られてそれ以上は使わないことにしました。この状態でmoltosenso Network Manager™ IRONで設定の続きをしようと思ったのですが、何だかうまく繋がらず、再びX-CTUでFirmwareが正しく更新されていることだけを確認して、ATコマンドでの作業を開始することにしました。

使ったのは、「CoolTerm」というフリーソフトです。書籍「XBeeで作るワイヤレスセンサーネットワーク」でも紹介されていたもので、今回のXBee ZBの設定を進めるにあたって、「きっといつか使うだろう」と考えてインストールしておいたものです。さまざまなサイトで見つけた情報も含めて何を設定しなければならないのかを検討し、最低でも以下の項目について設定をしなければならないことがわかりました。
  • PAN ID…1234 [※0001以外の任意]←送受信とも同じにする
  • 宛先アドレス(上)…0013A200
  • 宛先アドレス(下)…[送受信とも相手のユニークなアドレス]
  • Baud rate…57,600(for ATmega328)
これらの設定をするためには、まずXBeeエクスプローラUSBにXBee ZBを載せてMacに挿します。次に、CoolTermを起動して「Options」を押し、「Terminal」の「Local Echo」にチェックを入れます。こうすることによって、自分が打ったATコマンドなどが、画面上に表示されるようになります。そして、次のような手順でATコマンドを打ち込みます。
  1. (1秒間何もしない)+++(1秒間何もしない)
  2. 「OK」と表示される…コマンドモードになった
  3. 「ATID 1234」と打ってenterキーを押す
  4. 「OK」と表示される…PAN IDが「1234」に設定された
  5. 「ATDH 0013A200」と打ってenterキーを押す
  6. 「OK」と表示される…宛先アドレス(上)が「0013A200」に設定された
  7. 「ATDL(XBeeモジュールの裏側下段に書いてあるアドレス)」 と打ってenterキーを押す
  8. 「OK」と表示される…宛先アドレス(下)がそれぞれ通信相手のアドレスに設定された
  9. 「ATBD 6」と打ってenterキーを押す
  10. 「OK」と表示される…Baud rate(データ速度)が57,600に設定された
  11. 「ATWR」と打ってenterキーを押す
  12. 「OK」と表示される…すべての設定がXBeeモジュールに書き込まれた
数値なしでATコマンドを打ち込むと、どんな設定になっているのかを確認することができます。問題は、もたもたしていると10秒間でコマンドモードから抜けてしまうことです。特にATDLの設定は、何度か失敗してコマンドモードに入り直しました。1回ですべての設定をしようとすると、焦って間違えることが多くなるので、何度かに分けて作業をすると良いと思います。

ここまで来たので、次回はいよいよScratchでMBeeDuinoを動かす実験に入ります。

2012年5月4日金曜日

Scratchから無線でモータを動かす(2)〜MacでXBee ZBを設定できるか

前回に引き続いて、MacでXBee ZBの設定に挑戦しています。「デバイスタイプの変更」が現在の目標ですが、攻略の仕方を見直し、比較的安定した状態にすることができた、MikuInstallerによるWine環境を使って、X-CTUを使えるようにすることに注力することにしました。

まずは、念の為にFTDIのWebサイトからVCPのドライバ(CDM20824_Setup.exe)をダウンロードして、インストールしておきます。(何も変わらない感じだけど…)その後、X-CTUを起動して設定作業をはじめますが、たびたびいろいろいじりまくっていたXBee ZBが、まるで反応をしなくなってしまいました。試行錯誤の末、どうやら何度目かの作業の中で、ファームウェアが飛んでしまった感じでした。
#別のXBee ZBを載せてXBeeエクスプローラUSBを挿してやると、正常な反応を示したので、一つだけダメになっていたことがわかりました。(逝ってしまわれたかと思いましたが…)

そこで、ネットで調べてみると「zimudomuzidomuの日記」というブログに「XBeeファームウェアが飛んじゃったら。その対処法」という記事があるのを見つけました。この記事を参考にして、ファームウェアが飛んだ1台を初期化することにしました。タダで起き上がるのも癪なので、あわよくばこの段階でこいつをCoordinatorにしてしまおうと考えました。
#DigiのサポートWebサイトから「Firmware Updates」を選択して、XBee ZB(S2)用のFirmwareをダウンロードして使うことにしました。XCTUフォルダ内の「update/xbee_zb」フォルダに解凍したファイルを入れるだけです。

MikuInstallerでX-CTUを起動し、XBeeエクスプローラUSBをつないで作業を始めました。先の「XBeeファームウェアが飛んじゃったら…」の手順の通りに、「Always Update Firmware」にチェックを入れて、「Modem:」を「XB24-ZB」に、「Function Set」を「ZIGBEE COORDINATOR AT」にすると、Firmwareの「Version」が「20A0」になりました。次に、「Write」ボタンを押して、X-CTUがXBeeを探しているところで、XBee ZBを載せました。後はひたすら待ちます。作業の進捗状況を示す青いバーが、じっと見ていても気づかないくらい少しずつ増えていきます。XBeeエクスプローラUSBのRX/TXのLEDが、時々チカっと光ります。
#Firmwareが正常に戻ってもう一度検証した時には、XBee ZBを載せたまま、リセットスイッチを押すことを促されたところで、10秒くらい長く押して離すと先に進めるようです。(毎回同じようには行かないようで、短く何度かリセットスイッチを押してできることもありました)

終了までかなり時間がかかりましたが、これでようやくXBee ZBの1台は、Coordinatorに設定することができました。次は、通信ができるようにしたいと思います。(後少しだ…と思いたい)