私は現在、大学でarduinoプロジェクトに取り組んでいます。基本的に私がやろうとしているのは、VVVVからarduinoに一連のデータを送ることですが、データを配列に解析する必要があり、どうやってこれを行うのか全く分かりません!シリアル文字列データを配列に解析する(VVVV to 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は接続を切断します。
こんにちは、残念ながら、これは問題を修正していません。 : 私はVVVVパッチ(データの送信を開始する)を有効にすると、arduino自体が切断されます。 – thatseika
ハードウェアの問題のように見えます... – opc0de
あなたは正しいです、それは力の問題でした私がそれを見つけたら、私はコードを投稿します。 もう一度ありがとう:) – thatseika