0
処理からarduinoに文字列を送信したいと思います。しかし、Arduinoのは、処理コードは下記を参照してください...シリアルからデータを受信しない:arduinoはシリアルデータを受信しません
import processing.serial.*;
Serial myPort;
void setup(){
String portName = Serial.list()[2];
myPort = new Serial(this, portName, 9600);
}
void draw(){
myPort.write(parseRed + " | " + parseGreen + " | " + parseBlue);
}
は、ここに私のArduinoのコードを参照してください。
String serialData;
String serialDataRed;
String serialDataGreen;
String serialDataBlue;
void setup(){
Serial.begin(9600);
}
void loop(){
if (Serial.available()) {
serialData = Serial.readString();
serialDataRed = serialData.substring(0, 5);
serialDataGreen = serialData.substring(9, 16);
serialDataBlue = serialData.substring(20, 26);
}
}
私はこのスクリプトを実行すると、何も」arduinoのdoesnの起こりません任意のデータを受け取ることを参照してください...誰かが私が間違ってやっていることを教えてもいいですか?
'parseRed'と' parseGreen'は何ですか?と 'parseBlue'?彼らはどこに定義され、その価値は何ですか? Arduinoの 'loop()'関数が呼び出されますか? if文に入りますか?あなたが[mcve]を投稿し、あなたがすでに行ったデバッグのステップを教えれば、あなたはもっと良い運があるでしょう。 –
parseRed、parseGreen、parseBlueは文字列です。彼らは次のようになります: "minRed"または "neuGreen"または "maxBlue"など。はい、loop()関数は処理中のdraw()関数と同じであるため呼び出されます。 – FutureCake
しかし、それが実際に呼び出されていることをどのように知っていますか?そのようなことを保証するためにデバッグを行ったことがありますか?コードの実際の実行が予想と異なる特定の場所に問題を絞り込む必要があります。あなたが実際に実行しているコードを表示する[mcve]を投稿しない限り、私たちは本当に助けてはいけません。 –