中西研の関口です。
今日は、忘れないうちにProcessingでPhidgetsを使う方法を書きたいと思います。
まず、PhidgetsのサイトからJAVAのPlatform Fileをダウンロードします。初めてPhidgetを使うという人は、その上にあるOSに合った、Frameworkを先にダウンロードし、インストールして下さい。
次に、Phidgetsを利用したいProcessingファイル(*.pde)が保存してあるディレクトリ(”sketch_0125a”など)に新たにcodeという名前のディレクトリを作成し、その中に先ほどダウンロードしたphidgets21.jarを入れます。
例えば、ProcessingファイルをPhidgetsSampleという名前で保存した場合は次のような階層になります。
+Processing
+PhidgetsSample
+PhidgetsSample.pde
+code
+phidget21.jar
あとは、それをimportするとProcessingでもPhidgetsを使えるようになります。JAVAと同じように書けば大丈夫だと思われます。
サンプルソースは以下のような感じです。
[java]
import com.phidgets.*;
import com.phidgets.event.*;
public class PhidgetsSample extends PApplet implements SensorChangeListener,
InputChangeListener {
public void setup() {
try {
InterfaceKitPhidget ik = new InterfaceKitPhidget();
// とりあえずすべてのリスナに登録する
ik.addSensorChangeListener(this);
ik.addInputChangeListener(this);
ik.openAny();
} catch (Exception e) {
e.printStackTrace();
}
}
public void draw() {
}
/**
* アナログ入力値がかわるたびに呼ばれるコールバック
*/
public void sensorChanged(SensorChangeEvent se) {
println(se.getValue());
}
/**
* デジタル入力値がかわるたびに呼ばれるコールバック
*/
public void inputChanged(InputChangeEvent ae) {
println(ae.getState());
}
}
[/java]
processingの様々なライブラリとphidgetsを組み合わせれば、面白いものが作れるかもしれませんね!