SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

コドモに伝える組込みソフトウェア開発

マジカルスプーンと教育


マジカル教材の構成

 図1は、このプログラムで利用する教材です。2本の金属製のスプーン、マジカルボックス、飛行船、ソフトウェアシミュレータ(以下、シミュレータと称す)で構成されます。

 スプーンは、飛行船を制御する符号列であるスプーン指令を出力するために用います。スプーンどうしを叩き合わせることで生じる超音波の有無が、飛行船を制御するための0と1の信号として解釈されます。

図1:マジカルスプーン用教材
図1:マジカルスプーン用教材

 マジカルボックスは、飛行船を制御するためのコードセット登録と、スプーン指令の受信と飛行船への送信とを担当する電子基板です。指令受信部にはNECエレクトロニクス株式会社製NEC78Kチップを、指令送信部には株式会社ルネサステクノロジ社製のM16チップとを用いて実装され、それぞれにC言語による独自ソフトウェアが組み込まれています。

 飛行船には、マジカルボックスから送信される制御信号を受信する独自の電子基板が装着されます。さらに、左右各1つと上下方向1つの計3つのモータ付きプロペラを具備した自作ハーネスが、この電子基板に連結されます。ここで利用される飛行船は模型タイプの市販品であり、電子基板にはC言語の独自ソフトウェアが組み込まれています。

 シミュレータはコードセットの設計・登録、スプーン指令の入力練習、飛行計画の立案・検討に利用されます。シミュレータ上の飛行船は、プロペラ動作を確認できるよう、飛行船後部の第3者視点のアニメーションとして表現されます。3つのプロペラの動作(正回転、逆回転、停止)、上下方向への移動、左右方向への方向転換の様子が示されます。シミュレータはC++言語で実装されており、USBシリアル通信を用いてマジカルボックスとの情報送受信を実現しています。

マジカル教材の利用

 マジカルスプーン教材の利用フローを図2に示します。

図2:マジカルスプーン教材の利用フロー
図2:マジカルスプーン教材の利用フロー
  1. ユーザは設計済みコードセットをシミュレータを介してマジカルボックスに登録する。この時登録されるコードセットは、8種の飛行船動作(上昇・下降・前進・後退・右旋回・左旋回・停止・停留)を表現するための3ビットの符号と1ビットのパリティビットで構成される。
  1. ユーザは自らの定めたタイミングでコード開始信号を4拍入力する。さらに続けて、そのタイミングに合わせて、コードセット内のコードに対応するよう金属スプーンを叩くことで、マジカルボックスにスプーン指令を送信する。この時、マジカルボックス上の超音波センサによりスプーン指令が感知される。
  1. マジカルボックスは受信したスプーン指令に対応する飛行船動作を、登録されているコードセットより決定する。この時、飛行船動作は左右上下制御用の3つのモータの推力として表現される。
  1. マジカルボックスから飛行船に対してモータの動作命令を送信する。飛行船は、実機を用いる場合(実機制御モード)とシミュレーションを用いる場合(シミュレーションモード)とがある。実機への命令送信には約30mの通信距離を確保できるZigbee規格の無線が用いられる。

 実際にマジカル教材を利用しているユーザの様子を、図3に示します。就学前のボク・ワタシから、高校生、そして高校・大学の先生、さらには若き組込みエンジニアまでが一同にコード設計やコード入力を行なっています。

図3:ユーザの様子 
図3:ユーザの様子 就学前のボク・ワタシから、高校生、そして高校の先生まで

 この教材は、極めて独立性の高いソフトウェア構成をしています。教材内のソフトウェアは、それぞれが異なる組織で個別に開発され、それらがライトウェイトに関連付いており、拡張も容易に行えます。その1例として、飛行船の遠隔操作を行う実験を試みました。

 東京・お台場に浮かぶ飛行船を、札幌と熊本から遠隔制御しようという試みです。マジカル教材に、ネットワーク越しに指令を送信する仕組みを付加することで実現しました。図4に遠隔操作実験の様子を示します。

図4:マジカルワークショップの様子(2008.10.21実施) 写真は、熊本(左下)からのスプーン指令により、東京(右上)の飛行船が操作されている様子。空間モデル(右下)を使って、飛行船の現在位置を提示中。札幌(左上)は次の作戦会議中。
図4:マジカルワークショップの様子(2008.10.21実施) 写真は、熊本(左下)からのスプーン指令により、東京(右上)の飛行船が操作されている様子。空間モデル(右下)を使って、飛行船の現在位置を提示中。札幌(左上)は次の作戦会議中。

次のページ
マジカルシミュレータ

この記事は参考になりましたか?

コドモに伝える組込みソフトウェア開発連載記事一覧

もっと読む

この記事の著者

香山 瑞恵(カヤマ ミズエ)

香山瑞恵(かやま みずえ)信州大学工学部情報工学科 准教授教育システム情報学会 情報教育特別委員会 幹事日本情報科教育学会 理事教育の情報化のためのシステム開発と高等学校情報科のカリキュラム開発とに従事。2005年よりSESSAMEと共にマジカルスプーンプロジェクトを企画・運営。2007年度までに2...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3796 2009/04/03 11:08

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー