目次
前
次
Gainer mini
「Gainer mini」は、フィジカルコンピューティングで利用される
「Gainer」のCPUチップを、PSoCからPICに変えた基板です。
オープンソース、オープンハードウエアなので、USBコネクタを
手持ちのBタイプにして、あり合わせの材料で半田付けしました。
「Gainer」は、processingの開発環境で使えるので
Arduinoの開発環境で使えるprocessingを使いました。
テストで利用したスケッチは、以下。
import processing.gainer.* ;
Gainer gainer ;
void setup() {
size(200,200);
background(0);
gainer = new Gainer(this);
}
void draw() {
if ( gainer.buttonPressed ) {
fill(255,0,0);
} else {
fill(0,0,255);
}
rect(20,20,160,160);
}
PICのCソースコードとは異なり、オブジェクト指向の
Processing言語の利用となります。
ソースコードの内容を簡単に説明します。
import processing.gainer.* ;
Gainerを使うので、対象となるオブジェクトに
関係するプロパティ、メソッドを取り込みます。
Gainer gainer ;
Gainerを扱うためのオブジェクト変数gainerを
定義しています。
void setup() {...}
Personal Computer側のGraphic User Interface仕様を
定義し、使えるようにします。
sizeでGUIで利用するウィンドウサイズを指定しています。
X方向、Y方向のdimensionを指定します。
X方向で幅、Y方向で高さをピクセル単位での指定になります。
backgroundでウィンドウの地(背景)の色を指定。
背景は0にすると、黒になります。
gainer = new Gainer(this); により、オブジェクト変数の
プロパティ、メソッドを初期化します。
void draw() {...}
GUI上でどういうことが起きるのかを定義します。
if ( gainer.buttonPressed ) {
fill(255,0,0);
} else {
fill(0,0,255);
}
で、Gainer mini上のボタンを押したときの動作を
指定します。
ボタンを押すと、矩形領域の色が変わります。
fillは、矩形領域を塗りつぶせという指令を出す
メソッドで、じっさいに色の反映は、矩形領域の
描画担当の rect(20,20,160,160) がやってます。
Gainerは、PCと接続されて動作しますが、PCとの情報
交換は、USBインタフェースを使います。実際には
内部でUSB/シリアルの変換をします。
「Gainer mini」で利用するPICは、USBインタフェースを
標準でもっているため、USB/シリアルの変換は不要です。
「Gainer mini」は、コンフィグレーション指定で次の8モード
の中のどれかに変身します。
- mode 1(ain x 4,din x 4,aout x 4,dout x 4)
- mode 2(ain x 8,aout x 4,dout x 4)
- mode 3(ain x 4,din x 4,aout x 8)
- mode 4(ain x 8,aout x 8)
- mode 5(din x 16)
- mode 6(dout x 16)
- mode 7(control Matrix LED)
- mode 8(ain x 4,servo control x 8,dout x 4)
ain : analog input
aout : analog output
din : digital input
dout : digital output
実験回路の動作試験には、気軽に使える環境と言えるでしょう。
オープンソース、オープンハードウエアなので
インターネットで探すと、多くの回路図が出て
きますが、自分の備忘録として描いた回路図は
以下です。
目次
前
次