Emotiveにトリガを出すための装置をArduinoで作成しました。いちおう2chのトリガを入れられます。ch0,ch1両方2.5V以下の時はAをシリアルポートに出力します。ch0のみ2.5V以上の時はBを・・・という具合に、トリガの状態をA-Dの文字で出力します。ボーレートは9600bpsにしてあります。delayを入れて、100HzでAD変換値のチェックと文字送信を行うようにしています。ニッケル水素電池4本で、TTLのかわりに5V入れてみましたが、正しく動作しているようでした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | int a0; int a1; String str; void setup() { pinMode(13, OUTPUT); Serial.begin(9600); // baud rate of serial communication } void loop() { a0 = analogRead(0); //ADC 0ch a1 = analogRead(1); if(a0 if(a0>512 && a1<512){str="B";} //ch0=HIGH && ch1=LOW output B if(a0512){str="C";} if(a0>512 && a1>512){str="D";} Serial.print(str); Serial.println(); delay(10); //check AD voltage with 10ms interval } |
Arduino用プログラム→
EmoTrig1
Arduino1.0.5開発環境で動作チェックしました。
追記(131210):
その後実際に接続して確認したところ、トリガが出た瞬間と終わった瞬間だけ値を変更する仕様に変更する必要があった(現場において来ちゃいました・・・)&57600bpsしないとトリガを逃すことなどもわかりました。