arduino e processing

Ciao a tutti, a me non è molto chiaro come arduino comunichi con processing. Nello script StandardFirmadata connesso a arduino imput, a quanto ho capito, arduino rileva dati da tutti i pin e li trasmette a processing, che con una lista li indirizza a delle liste di oggetti che vengono così modificati. È un po' complesso e molto mi sfugge. Vorrei sapere come prendere il valore di un dato pin e trasformarlo in una data variabile in processing. Qualcuno può aiutarmi?

Processing io l’ho sempre usato interfacciandomi ad una seriale, trovi già quache esempio anche nell’ide processing.

Se invece non vuoi programmare Arduino e Processing perchè si parlino tra di loro, ma pilotare direttamente Arduino da Processing (senza scrivere codice per Arduino), allora hai bisogno di Firmata.

No, quello che vorrei principalmente sarebbe fare grafici in tempo reale con processing. Quindi va benissimo che legga da seriale quello che stampa arduino, solo non ho trovato esempi molto lineari in questo senso. In arduino so come stampare in righe e colonne, ma poi non so dire a processing: questa specifica colonna è il valore di questa specifica variabile, per esempio. Negli esempi che ho il codice è un po' complesso e a me servirebbe un livello precedente.

il trucco che uso io è il seguente: metti tutti i dati separati dalla virgola, poi a fine loop stampi un carattere tipo '\n' processing sa che si deve spettare X dati in un daterminato ordine: a partire dal primo \n (per evitare dati incompleti) inizia a estrarre i dati. La funzione split() può essere molto utile. Nel caso di dati non così ben strutturati son solito fare nomeVariabile:valore,nomeVariabile2:valore\n stessa cosa di sopra, slitti in base alla virgola, poi in base ai ":" e poi confronti il nomeVariabile e inserisci il valore nella giusta variabile/array. Ricordatio che i valori numerici sono rappresentati a char, e quindi vanno convertiti per esempio con Integer.parseInt(valoreInArrayChar); oppure Double.parseDouble(valoreInArrayChar); ecc.. ec...

il trucco che uso io è il seguente: metti tutti i dati separati dalla virgola, poi a fine loop stampi un carattere tipo '\n'

il formato csv, per quanto semplice, è sempre una delle soluzioni migliori :D (lo uso anche per la realizzazione di chart in realtime su web con highcharts!)

sai che non ci ho mai pensato che uso il csv? :grin:

ragazzi qualche link utile , di guide e / o libri buoni per imparare Processing ???

GRAZIE!!!

processing non è altro che java con qualche libreria in più per semplificarsi la vita (beh già java ha mille librerie)

una guida sul java: http://java.html.it/guide/leggi/22/guida-java/ direi che i primi 15 capitoli bastano (non credere sono 1 o 2 paginette per capitolo)

molto utile poi sfruttare il parallelismo: http://java.html.it/guide/leggi/157/guida-java-6/ capitoli "Programmazione concorrente e altre modifiche"

Penso di riuscire a dare quella formattazione alle cose che arduino deve stampare su porta seriale ma non sono tanto sicuro di riuscire a estrarle in processing. domani in ogni caso provo, credo sia la strada giusta per quello che vorrei fare. Costruiti i primi rudimentali dispositivi vorrei rappresentare i valori.

Invece per quanto riguarda il salvare in csv i rilevamenti di arduino c'è qualche tutorial?

basta che leggi qualche tutorial sul file. Vai tranquillo, java come scrittura di codice è abbastanza simile al C ma molto più semplificato e basato sulla concezione ad oggetti... ma niente di insuperabile, anzi la troverai molto comoda e vedrai che inizierai a programmare anche arduino col C++ :D