[Gainer]Webねこじゃらしの原型をとりあえず作ってみた

わくラボにて勢いで進行中(?)の謎プロジェクト「WEBねこじゃらし」の実現に向けて、ハードウェア&ソフトウェアのサンプルを開発中。
先日はPICというワンチップマイコンにプログラムを書き込んで動作させる実験をしたのですが、今回はGainer[ゲイナー]というUSB接続でPCからコントロールするI/Oモジュールを使ってみました。

Gainerについて、詳しくはこちら⇒http://gainer.cc/

コンセプト
The gainer I/O module v1.0GAINERはユーザー・インタフェースやメディア・ インスタレーションのための環境です、ユーザはプロトタイプから最終形まで用いることができます。基本的なコンセプトは次のとおりです。

ユーザは自分自身のモジュールを部品レベルから組み立てて理解を深めることができる
ユーザは複数のコンフィグレーションの中から目的にあったものを選択できる
ソフトウェア&ハードウェアがオープンソースで公開されている

*単純にいうと、「ゲイナー」というモジュールを使えば、PC上のソフトウェアから、 USBで接続されたゲイナーを通じてデジタル入出力、アナログ入出力のやりとりができるというもの。入出力の構成はコンフィグレーションで7パターン程を選択することができて、基本4ビットの[アナログ入力、デジタル入力、アナログ出力、デジタル出力]というMODE1の他にも、8ビット幅すべてをつかった[デジタル入力、デジタル出力]という設定にもできたり。
 PC側では、USBに接続されたゲイナーとのやり取りをシリアル通信に変換してくれるデバイスドライバのインストールの他、 GSP(Gainer Serial Proxy)というシリアル通信をTCP/IPを介して仲介してくれるプロキシソフトを起動させておきます。あとは、 TCP/IPによるソケット通信でゲイナーを制御する、ってことです。

とりあえず初めて使ってみるゲイナー、ということで簡単なスクリプトでいいやと思っていたのですが、思いのほかゲイナーの使い方が簡単なため、ちょっとしたスクリプトで結構いろんなことができてしまいました。
最初は単にデジタル出力&アナログ出力のテストの実験のつもりだったのですが、ついつい手が伸びてしまい、謎のプロジェクト「WEBねこじゃらし」で実装する予定のアクチュエーター制御部分の回路&コードも書いてみた。
なお、GUIはFlashで作ってみた。ActionScriptで制御コード書いてます。

[写真] 

Gainer ゲイナーが到着してすぐ開封したところ。今回は完成版のGainer (\8,000くらい)の他、ブレッドボードやよく利用する電子パーツ(LED、330Ω抵抗、可変抵抗、押しボタンスイッチ) が数種、それとなんと3軸加速度センサが入っているセットも同時に購入(こちらは\4,000くらい)
 Gainer ゲイナーのデジタルアウト端子にLEDを接続しているところ。 5VにLEDをつなぐことが多いので、 330Ω抵抗はまとめ買いしてます。
Gainer ひとまず回路が完成したところ。向かって右側が出力[アナログ4ビット、 デジタル4ビット]。ちょっと見えづらいけれど、真ん中にLEDを4列並べてデジタル出力(0?3)のON/OFFを、 それらのちょっと上にアナログ出力の0(緑色LED)を接続。
 アナログ出力1にDCモータを接続したところ、やはりマイコンチップから出力される電流で直接モータを駆動させるにはヤバイ(というかムリ)と判断し、急遽ひさびさにトランジスタ(2SC1815)を使った増幅回路を追加してDCモータを回すことに(ブレッドボードの右下)。なお、並列にアナログ出力1に赤色LEDを接続して、出力1への通電状況を視覚化しました。

[動画]
0:01-0:16
 まずはGainerをUSBケーブルで接続して電源ON。
0:20-0:40
 PC側ではGSPサーバを起動し、FlashとActionScriptで書いたコントロールソフトをパブリッシュ。 InternetExplorer上でGUIを起動。
0:40-0:57
 まずはデジタル出力。画面上にある4ビット分のON/OFFそれぞれのボタンをクリックするとそれぞれに応じたLEDが点灯/消灯。
1:00-1:07
 つづいてアナログ出力。アナログ出力0に接続されたLEDに対して、0?255の256段階を出力させます。画面上ではスライダーを使いました。まあ、アナログとは言っても、結局はデジタル出力を細かくしてるだけなんですけど。(PWM、でしたっけ?)
1:15-1:35
 おまちかね、ねこじゃらしを制御。といっても、ねこじゃらしが手に入らなかったのでピンとティッシュをDCモーターに接着して実験。” ねこじゃらす!”の横にある「ゆっくり」をクリックするとゆっくり動作、「激しく」をクリックすると速く動作します。これはアナログ出力を使っているのでスライダー方式にして細かい速度制御させるUIも作ってみました。

さあ、いまのところローカルからの制御しか実装していないので、ネットワークを介してWEBねこじゃらしにトリガーを与える仕組みを実装せねば。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です