TouchDesignerからArduinoのLチカ


TouchDesignerのSerial OutでArduinoのLチカをやってみます。

Arduino

まずは配線をしてしまいます。
以下の様にLED1個の基本的な配線です。

ちなみに上の図はFritzingというアプリケーションを使用しています。
FritzingはIDEもついているのでコードを書いてArduinoにアップロードまでできます。(アップロード自体は本家Arduino IDE経由っぽいです)

Arduinoのコード


int flag;
void setup(){
    //LED_BUILTINは13番ピン
    pinMode(LED_BUILTIN, OUTPUT);
    Serial.begin(9600);
}

void loop(){
    if(Serial.available() > 0){
        //シリアル通信で送られてくる値を読み取り変数flagに格納
        flag = Serial.read();
        //flagが1だったら光らせる処理
        if(flag == 1){
            digitalWrite(LED_BUILTIN, HIGH);
        }else{
            digitalWrite(LED_BUILTIN, LOW);
        }
    }
}

TouchDesigner

ネットワーク

ネットワークはこんな感じです。
>Button COMP、Panel Execute DAT、Serial DAT

Button COMP

Button TypeをMomentaryにしています。ボタンを押している間のValueが「1」、押さないとValueが「0」になります。

Panel Execute DAT

ターゲットのパネルにButton COMPを指定します。
また今回は値が変化するたびにシリアル通信を行うためValue ChangeをOnにしています。

また、実際のコードではonValueChange内を以下の様に記述します。
こうすることで値が変化するたびにSerial DATを通じてButton COMPのValueがSerial OUTされます。
sendBytesに関しては公式ドキュメントに詳細が載っています。


def onValueChange(panelValue):
    op("serial1").sendBytes(panelValue)
    return

Serial DAT

ここではPortにArduinoを接続しているUSB Portを指定しています。(環境毎に異なります。)

これで、Button COMPをActiveにしてクリックすればLチカ完成です😃

最後にYouTubeのリンクを貼っておきます。