2016-11-08 45 views
1

私はいくつかのポジションデータを連続して入力していますが、現在シリアルにプリントしています。Arduinoのテキストファイルにデータを書き込む方法

私は文字列 "5"を持っていて、それをテキストファイル "myTextFile"に印刷したいとします。これを達成するためには何が必要でしょうか?明確にするために、テキストファイルはArduinoのSDカードではなく私のコンピュータに保存されます。

また、プログラムに保存する前にテキストファイルを作成する方法はありますか?

+0

だから、あなたがアルドゥイーノに接続されているいくつかのSDカードを持っていて、その上にファイルを作成し、書きたいですか? – KIIV

+0

私はarduinoが接続されているコンピュータにファイルを書きたいと思っています。今問題をもっと明確にするために、感謝します。 –

+0

Puttyを使用してArduinoに接続し、出力を書き込むように構成することができます。それ以外の場合は、コンピュータ側のソフトウェアが必要です。 – KIIV

答えて

1

はUは、処理側の使用aの上にあなたのループ方式

Serial.println(value); 

を使用してシリアルインターフェイスにあなたのセンサ値を書くこの

Serial.begin(9600); 

用シリアル-LIBを使用する必要がありますシリアルポートから読み取ったデータをファイルに書き込むPrintWriter

import processing.serial.*; 
Serial mySerial; 
PrintWriter output; 
void setup() { 
    mySerial = new Serial(this, Serial.list()[0], 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(); // Writes the remaining data to the file 
    output.close(); // Finishes the file 
    exit(); // Stops the program 
} 
+0

これは私が後の答えですが、それは非常に不明です。誰もがこれを設定し、これらの機能で何が起きているのかを明確にすることはできますか? – Steve

0

あなたはシリアルポートを読んで、テキストファイルに結果を書き込むためにPythonスクリプトを作成することができます。

############## 
## Script listens to serial port and writes contents into a file 
############## 
## requires pySerial to be installed 
import serial 

serial_port '/dev/ttyACM0'; 
baud_rate = 9600; #In arduino, Serial.begin(baud_rate) 
write_to_file_path = "output.txt"; 

output_file = open(write_to_file_path, "w+"); 
ser = serial.Serial(serial_port, baud_rate) 
while True: 
    line = ser.readline(); 
    line = line.decode("utf-8") #ser.readline returns a binary, convert to string 
    print(line); 
    output_file.write(line); 
関連する問題