Dati da seriale su excel

...inizio a sentirmi un pò inutile in questo forum, chiedo sempre aiuti, ma non so darne...spero mi perdonerete :cold_sweat: :sweat_smile: (se avete bisogno di info su pratiche edilizie e notai chiedete pure, sono un campione in questo).

Venendo a noi...ho visto questo link molto interessante. L'unica cosa è che non riesco a farlo funzionare. Qualcuno di voi l'ha provato e sa dirmi come va?

http://www.gioblu.com/tutorials/programmazione/189

Grazie

Dove Ti sei bloccato o cosa non Ti é chiaro? Ciao Uwe

io sono l'autore del tutorial, spero di poterti aiutare. mi associo a Uwe. cosa non va?

Ho fatto una prova ridicola, ho messo il sensore di luminosità e mi da i dati corretti (numerazione xxx) mentre se aggiungo le stringhe per inviarlo sul excel, una volta iniziata la ricezione, il dato che una volta era formato da tre numeri, diventa di sei. Come mai? anche se cambio il campo in excel il dato non cambia.

Hai una importante schelta da fare. O ci fornisci una sfera di cristallo e cosí possiamo indovinare il codice che hai usato ;) ;) ;) oppure ci dai il codice dello sketch che hai usato per fare le prove. Grazie.

Ciao Uwe

Scusate, ero convinto di averlo incollato. Eccolo

#define SENSOR 0  // select the input pin for the 
                  // sensor resistor

int val = 0; // variable to store the value coming
             // from the sensor

int x = 0;

int row = 0;


void setup() {

 Serial.begin(9600); // open the serial port to send
                     // data back to the computer at
                     // 9600 bits per second
                     

Serial.println("CLEARDATA");

Serial.println("LABEL,Time,val");

                     
                     
}

void loop() {

  val = analogRead(SENSOR); // read the value from
                            // the sensor

  Serial.println(val); // print the value to
                       // the serial port

  delay(100); // wait 100ms between
              // each send  
              
Serial.print("DATA,TIME,"); Serial.print(val);

row++;

x++;

if (row > 360)

{

row=0;

Serial.println("ROW,SET,2");
}

}

…e oltretutto mi fa solamente 82 letture e poi si blocca

Quando invii all'excel i dati della serial port, li invii tutti. Per cui anche quelli inviati dall'istruzione:

Serial.println(val); // print the value to // the serial port

che probabilmente 'sporcano' la comunicazione. Prova a sostituire questo blocco del programma:

void loop() { val = analogRead(SENSOR); // read the value from // the sensor Serial.println(val); // print the value to // the serial port delay(100); // wait 100ms between // each send Serial.print("DATA,TIME,"); Serial.print(val); row++; x++;

con quest'altro blocco: void loop() { val = analogRead(SENSOR); // read the value from // the sensor Serial.print("DATA,TIME,"); Serial.println(val); row++; delay(100); // wait 100ms between // each send

In questo giorni sono in vacanza e non ho un Arduino per fare la prova, però credo funzioni. Fammi sapere se ci sono ancora problemi. Ciao.

Eccomi sono tronato dalle ferie, provo la modifica e poi ti faccio sapere come va

Si hai ragione, funziona bene adesso

:slight_smile: