Tempo fa ho fatto questo sketch in Processing, per salvare appunto dei valori provenienti dalla seriale di Arduino riguardanti la misurazione della temperatura, è facilmente modificabile per ogni esigenza:
// Scrittura su file da Arduino
import processing.serial.*;
Serial mySerial;
PrintWriter output;
void setup() {
mySerial = new Serial( this, Serial.list()[1], 9600 ); // seleziona la porta seriale di Arduino e la velocitÃ
mySerial.bufferUntil('\n'); // Buffer seriale fino a new line
output = createWriter( "dati.txt" ); // Nome file dati (lo scrive dove risiede il programma)
}
void draw() {
// Imposta dati con data e tempo
int gi = day(); // giorno
int me = month(); // mese
int an = year(); // anno
int se = second(); // secondi
int mn = minute(); // minuti
int or = hour(); // ore
if (mySerial.available() > 0 ) {
String value = mySerial.readStringUntil('\n'); // legge dati da seriale fino a new line
if ( value != null ) {
// scrive dato tempo oppure aggiungere anche data
String s = String.valueOf(or)+":"+String.valueOf(mn)+"."+String.valueOf(se)+" ";
output.print( s );
output.print( value ); // scrive su file lettura da seriale da Arduino
}
}
}
// Esce dal programma alla pressione di qualsiasi tasto
void keyPressed() {
output.flush(); // Scrive i dati rimanenti su file
output.close(); // Chiude il file
exit(); // Esce dal programma
}