Go Down

Topic: funzione micros() con processing -- comunicazione seriale (Read 3064 times) previous topic - next topic

lesto

int num = Integer.parseInt(stringa);
(però è java, on ricordo se va anche in processing)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

aureliusss

#16
Dec 10, 2012, 02:08 pm Last Edit: Dec 10, 2012, 02:23 pm by aureliusss Reason: 1
niente, ho provato ma genera un'eccezione causata dall aver letto come valore '0'

edit: ho provato anche ad usare la funzione int(string) ma mi restituisce il valore zero

lesto

mostra il codeice si errore, probabilmen quello non è no zero ma uno spazio+zero o simili (\n, \r, \t etc..), e quindi va in errore. fai così:
int num = Integer.parseInt( stringa.trim() );
dovrebbe funzionare nella maggior parte dei casi sopracitati.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

aureliusss

sono riuscito ad impostare la comunicazione, ma adesso ho un problema lato processing:
invio i dati da arduino a processing con successo, ma non riesco a salvarli negli appositi array per poi analizzarli e plottarli
questo il serialEvent di processing
Code: [Select]
void serialEvent(Serial port) {
  measure = commPort.readStringUntil('\n'); //leggo l'intera stringa con i dati, divisi da virgole

  int i=0; //contatore per scorrere gli array
  if (measure != null) {

    String[] valori_misura = new String[5];
    valori_misura = split(measure, ","); //divido la stringa in cinque parti(sono  i cinque i dati che ricevo)

    ps_voltage = parseFloat(valori_misura[0].trim()); //trasformo il valore da stringa a float
    PS_VOLTAGE[i]=ps_voltage; //metto il valore così letto nell'array

    c_voltage = parseFloat(valori_misura[1].trim());
    C_VOLTAGE[i] = c_voltage;
   
    current = parseFloat(valori_misura[2].trim());
    CURRENT[i] = current;

    ps_time = parseInt(valori_misura[3].trim());
    PS_TIME[i] = ps_time;

    c_time = parseInt(valori_misura[4].trim());
    C_TIME[i]=c_time;

    i++; //aggiorno l'indice dell'array
  }
}


con questo codice pensavo di poter fare riuscire  a salvare i dati negli array, ma se faccio una semplice prova di stampa vedo che salva un'unico valore per tutto l'array.


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy