2017-12-11 19 views
0

私はグラフを作るためにデータ(リアルタイム、ガスセンサーデータ)を.txtファイルに保存しようとしています。 これは私のArduinoのコードです:Arduinosシリアル出力をテキストファイルに保存する処理の使い方は?

const int gasPin = A0; //Gas sensor output pin to Arduino analog A0 pin 
void setup() 
{ 
    Serial.begin(9600); //Initialize serial port - 9600 bps 
} 
void loop() 
{ 
    Serial.println(analogRead(gasPin)); 
    delay(1000); // Print value every 1 sec. 
} 

そして、これは私の処理コードです:

import processing.serial.*; 
Serial mySerial; 
PrintWriter output; 
void setup() { 
    mySerial = new Serial(this, "COM3", 9600); 
    output = createWriter("data.txt"); 
} 
void draw() { 
    if (mySerial.available() > 0) { 
     String value = mySerial.readString(); 
     if (value != null) { 
       output.println(value); 
     } 
    } 
}  
void keyPressed() { 
    output.flush(); 
    output.close(); 
    exit(); 
} 

これは動作しません。私はいつも空のdata.txtファイルを取得します。

+0

プロセッサー? [タグ:android-sensors]? –

+0

コードをデバッグしてください。処理中のファイルにテキストを書き込むことはできますか?はいの場合、この部分はOKです。 COM3のターミナルプログラムを使ってArduinoの出力を見ることができますか? – Piglet

答えて

0

あなたはbreaking your problem down into smaller stepsの習慣を身につけて、一度に1つずつ手順を実行する必要があります。

たとえば、値をファイルに保存する簡単なスケッチの例を作成できますか?まだArduinoについて心配しないでください。ただ一つの値をファイルに保存するだけです。

次に、ファイルに値の束を保存します。値がmillis()、またはマウスの位置から返された可能性があります。ここでも、Arduinoについては心配しないでください。移動する前にこれを完全に実行してください。

これとは別に、これらの値をコンソールに単に出力する処理スケッチに値を送るArduinoプログラムを作成できますか?

個別に作業する場合は、それらを1つのプログラムにまとめることができます。

現在、コードのどの部分が失敗しているかを知る方法はありません。それはArduinoコードですか?ファイルストレージですか?だから、私たち(あなた)が自分でそれらをテストできるように、それらの作品を分離する必要があります。

あなたがまだそれを理解できない場合は、新しい質問の投稿にちょうど1ステップのMCVEを投稿してください。がんばろう。