2011年2月12日土曜日

Arduinoで考えたことを実現してみる

今、子どもたちと一緒に、ユニバーサルデザインを実現する学習をしています。昨年12月までは、「ちょっとの工夫で豊かな未来」という課題で、自分の身の回りにあるものを見直して、フィジカル・コンピューティング的な発想で改善を提案していくという学習活動(KNOPPIXScratchを動かし、PicoBoardWeDoHelloBoardなどをつないで使ってもらいました)を行ってきましたが、この活動をさらに発展させて、自分たちの生活だけでなく、いろいろな人たちとバリアフリーな生活ができるような工夫(ユニバーサルデザイン)を一人ひとりが考え、モデル化して提案する活動を行うのがこの学習の要点です。

この中で、子どもたちが「耳の聞こえない人に振動や光で時間を知らせる仕組み」や「目の見えない人に音で触ったものを知らせる仕組み」を考えたいと相談に来たのですが、センサー部分は子どもたちに作らせるとしても、それを動かすコントローラ部分をどうしようか考えました。

パソコンでプログラミングをすることでも簡単にできることは間違いないのですが、パソコンとのやり取りに終始している感じになってしまうことで、現実感がなくなってしまうことは避けたいと思いました。そこで、電池を使ってArduinoを動かし、光や音を出したり、振動モータを動かしたりできるようにしようと考えました。

ご承知の通り、音を出す仕組みはそれほど難しくはない(音は以前に実験した楽器を作ったり、メロディICモジュールを利用したりすればよい)のですが、振動モータは「Prototyping Lab」を参考にして作ったモジュールを使うことにしました。光についてはもっと簡単で、LEDモジュールでLチカするだけです。
#エレキットのメロディICモジュールは生産完了品のため、超小型ユニバーサル基板にメロディICとトランジスタ、4.7kΩ抵抗を載せてクローンを作りました

これらに比べて「時間に合わせる」というのがちょっと引っかかるところでした。まず、Timeライブラリ(以前のDateTimeライブラリから派生したもの)をArduino-IDEに導入し、TimeAlarmsライブラリ付属のサンプルプログラムを加工して、時間になったら光や音が出るようにしました。また、現在の時間の設定がわからないと不便なので、LCDが接続できるシールドを載せて、LiquidCrystalライブラリを使って時間を表示するようにしました。

自分が考えたアイデアをできるだけ簡単に実現(モデル化)することを考えると、Arduinoなどの汎用マイコンボードを使うと効果的だと思います。特に、プレゼンテーションする際、実際に目の前で動いているものを見せられれば、説得力が何倍にも増すこと間違いなしです。こういうことが簡単にできるのがArduinoの良さですね。今後は、教育現場での導入・活用が進むことを期待しています。

0 件のコメント: