Firefly-Arduinoセットアップ

こんにちは。
AMDLabの藤井です。

今回は、FireflyとArduinoの紹介と使用にあたり少し準備が必要ですので、その説明をしたいと思います。
まずFireflyとは、Grasshopperのプラグインであり、Arduinoというマイクロコンピュータと接続できる面白くかつ強力なプラグインです。
FireflyとArduinoを使うことで、色々なセンサーを使用して、現実の現象をRhinoceros上にGrasshopperを介して表現することができます。
センサーと一言にいっても光、温度、湿度、距離、音、触覚、加速度等々色々あるので、多様なインタラクティブデザインが可能になります。
フィジカルコンピューティングとも呼ばれていますね。
実空間と仮想空間が繋がっているように感じるので、実際やっているとすごく楽しいです!

ここでは、Arduino等周辺機器を持っていることを前提で説明します。
マイクロコンピュータやセンサーと聞くと高価なように感じるかもしれないですが、結構お手頃価格で手に入ります。

それでは準備をしていきましょう。
1,ArduinoのIDEをここからダウンロードしましょう。
ちなみにIDEとはIntegrated Development Environmentの略で、つまり開発環境     のことです。コードを書くソフトですね。
ArduinoIDEは、すごくProcessingに似ているので、Processingを使ったことがある人は、入りやすいのではないかと思います。
また、Arduinoは基本的にはC++で制御します。

2,FireflyをここFood4RhinoからDownloadしましょう。

3,ArduinoIDEを開きArduinoをPCに接続します。
ファイル>>スケッチブック>>Firefly_Firmataを開きます。
Firmataと呼ばれる通信プロトコルを使用することで、ArduinoとFriefly双方のやり取りがシンプルで簡単に済みます。
次に、ツール>>ボードで接続しているArduinoの種類を選択し、ツール>>シリアルポートでどこかのポートが表示されていればOKです。

4,下図のオレンジ色の四角で囲ったところにある、チェックマークのボタンを押して、一度検証してから、右矢印のボタンを押してArduinoに書き込みます。
もし、その際に、WriteToDAC~というエラーメッセージが出たら、コードの一番下にある、下図の赤で囲んでいるところを以下のように書き換えて下さい。(下図は書換済み。)

void WriteToDAC(int _pin, int _value){
#if defined(__SAM3X8E__)
if(_pin == 0) analogWrite(DAC0, _value);
else if (_pin == 1) analogWrite(DAC1, _value);
#endif }

以上でArduinoの設定は完了です。
あとは回路とFireflyを組んで、データをやり取りさせるのみです。
参考に作ったArduinoの回路やGrasshopperのデータは、サンプルとしてまた公開します。

今日はこの辺で^^

ARTICLES