読書メモ

・「はじめてのGainerプログラミングガイド
(布留川 英一:著、I/O BOOKS \2,300) : 2008.09.15

内容と感想:
 
パソコンから「センサ」や「アクチュエータ」を制御するためのデバイス「Gainer」の入門書。 「Visual Basic」「C#」「ActionScript(Flex)」による開発方法を解説する。
 センサとは温度センサーなどがよい例で、気温などの物理現象を電気信号に変換するデバイス。 一方、アクチュエータは逆にモーターなどのように、電気信号を回転のような物理現象に変換するデバイス。 Gainerとセンサやアクチュエータを使えば、 これまでモニターとキーボード、マウスくらいしかなかったPCのユーザーインターフェースを手軽に拡張できるようになる。
 さまざまなプログラミング言語に既にライブラリが用意されていて、ブレッドボードにGainerをセットして、スイッチやセンサー、 LEDやモーターなどをジャンプワイヤーで配線し、パソコンとUSBケーブルで接続。プログラムを組むと、すぐにPCと連携させることが出来る。 (本書の内容を実際に体験するにはもちろんGainer本体とセンサやアクチュエータなどの部品を別途購入する必要がある)
 本書では加速度(傾き)センサーや光センサー、ショックセンサー(圧電素子など)を使った入力でパソコンの映像を操作したり、 曲げセンサーでパソコン音声を再生させたり、焦電センサー(人体赤外線センサーなど)でWebカメラを制御(撮影)したり、 パソコンからマトリクスLEDを任意の形に光らせたり、モーターを制御してロボットを動かしたり、 ラジコン用のリモコンを制御してラジコン模型を動かしたり、学習リモコンを制御して家電製品を操作したり、とサンプルも多い。 配線図とサンプルプログラムを掲載して分かりやすく書かれている。 初心者にはとっつきやすいだろう。
 本書で「フィジカル・コンピューティング」という言葉が出てくる。 従来のキーボード、マウスなどでは実現できない「人間とコンピュータの間の新しいコミュニケーション方法を模索しようという試み」だそうだ。 その良い例がWiiのリモコンのように振って操作したり、iPhoneのようにタッチパネルや傾けることで操作したりすることだ。 本書はパソコンがないとデバイスの入出力を制御できないが、これをきっかけにモノづくりに興味をもつ人が増えるといいと思う。

○ポイント
・ActionScript:Flashコンテンツを作るためのオブジェクト指向言語。言語仕様やパッケージ設計がJavaに近い。JITコンパイラ搭載で速度も向上。 開発ツールにはコマンドライン・ベースの無償の「Flex3 SDK」がある。JDKが必要。
・Max/MSP:MIDI機器の制御や音声信号の処理など音響・映像表現のための言語
・Processing:アニメーションを利用した視覚表現のための言語
・Gainerライブラリ:Ruby用もあり
・gsp: パソコンでFlash用ライブラリからシリアル通信でGainerを操作するためのプロクシ・サーバ。VBやC#用のライブラリもFlash用をラップしたもの
・4つずつのデジタル入力ポートと出力ポート、4つずつのアナログ入力ポートと出力ポート
・光センサー:注ぐ光量によって抵抗値が変化。CdSセルが街灯の自動点灯に使われる
・曲げセンサ:曲げることで抵抗値が変化
・圧電素子:歪むことで電圧を発生。空気の振動などを電圧に変換。逆に電圧を加えると空気を振動させ、音が鳴る
・焦電センサ:人が動くことで赤外線の変化を検出。静止していると感知しない
・フォトカプラ:配線の接続と切断を電気信号で制御。ダイオードの光によって切り替える

-目次-
第1章 はじめてのGainerによる開発
第2章 デジタル・アナログ入出力
第3章 センサの制御
第4章 アクチュエータの制御