Go Down

Topic: funzione micros() con processing -- comunicazione seriale (Read 2767 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