私は現在、大学でarduinoプロジェクトに取り組んでいます。基本的に私がやろうとしているのは、VVVV から arduino にデータの文字列を送信することですが、データを配列に解析する必要があり、これを行う方法がまったくわかりません!
VVVV から送信される文字列は次のようなものです。U、c、R、|、W、H、P および I は、これらの値のそれぞれを特定のサーボに毎回書き込む必要があるため、値 1 はサーボ 1 に移動する必要があります。
これが現時点での私のコードです。コード化がかなり悪いことに気づきました。データを解析する方法を見つけたら、より効率的にするつもりです。
#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
char array1[4] = { '0', '0', '0', '0'}; //array for midi variables
void setup()
{
// begin the serial communication
Serial.begin(9600);
servo1.attach(2);
servo2.attach(3);
servo3.attach(4);
servo4.attach(5);
}
void loop(){
while (Serial.available() == 0) {
array1[0] = 0;
array1[1] = 0;
array1[2] = 0;
array1[3] = 0;
}
{
// check if data has been sent from the computer
if (Serial.available() >= 4) {
for ( int i = 0; i < 4; i++)
array1[i] = Serial.read();
}
Serial.print(array1[0]);
Serial.print(array1[1]);
Serial.print(array1[2]);
Serial.print(array1[3]);
servo1.write(array1[0]);
servo2.write(array1[1]);
servo3.write(array1[2]);
servo4.write(array1[3]);
}
}
編集 - 最終的には 7 つのサーボを使用することを検討していることに言及する必要がありますが、現時点では回路で 4 つしか使用していません。また、このパッチをアップロードして VVVV を有効にすると、arduino が切断されます。