2016-11-08 1 views
1

J'ai des données de position qui arrivent continuellement et je suis en train de les imprimer en série. Dites que j'ai la chaîne "5" et que vous voulez l'imprimer dans un fichier texte, "myTextFile", que dois-je faire pour y parvenir? Pour être clair, le fichier texte serait sauvegardé sur mon ordinateur et non sur une carte SD sur l'Arduino.Comment écrire des données dans un fichier texte sur Arduino

De même, est-ce un moyen de créer un fichier texte dans le programme avant de commencer à l'enregistrer?

+0

Vous avez une carte SD connecté à l'Arduino et que vous voulez créer et écrire le fichier sur celui-ci? – KIIV

+0

Je veux écrire le fichier sur l'ordinateur auquel l'Arduino est connecté. Je vais remettre cela en question maintenant, merci. –

+0

Vous pouvez utiliser Putty pour connecter Arduino et le configurer pour écrire une sortie. Sinon, votre propre logiciel côté ordinateur est requis. – KIIV

Répondre

1

U avoir à utiliser de série-lib pour cette

Serial.begin(9600); 

Écrire vos valeurs de capteur à l'interface série à l'aide

Serial.println(value); 

dans la méthode de la boucle

sur l'utilisation côté de la transformation d'un PrintWriter pour écrire les données lues du port série dans un fichier

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

Ceci est la réponse que je suis après mais il est très flou. Quelqu'un peut-il clarifier comment mettre en place et expliquer ce qui se passe dans ces fonctions? – Steve

0

Vous pouvez créer un script python pour lire le port série et écrire les résultats dans un fichier texte:

############## 
## 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);