Acquisizione valori da un sensore

Buongiorno a tutti!

Per la mia tesi ho provato a sviluppare una centralina per il controllo della pressione all'interno di un sistema idraulico al cui interno si trova, appunto, un sensore di pressione. Sono abbastanza ignorante in materia purtroppo e leggo che non è molto semplice salvare direttamente i valori letti, ad esempio in un array. Io utilizzo un Arduino Mega 2560 e le acquisizioni sarebbero della durata di circa 40 secondi, al massimo di un minuto. Nel caso sarebbe necessario scaricare qualche estensione?

Grazie in anticipo a chi avrà la pazienza di rispondermi!

Alice

Ciao, non ho capito. Un array è una cosa base del linguaggio C, non devi aggiungere nulla.
Un array è una serie di x variabili dello stesso tipo che hanno nome unico ma che distingui da un indice.
Invece di avere esempio 4 variabili a,b,c,d
puoi fare un array pippo[4] dove hai 4 variabili, pippo[0], pippo[1],pippo[2],pippo[3]

Tra parentesi quadre puoi usare una variabile int invece di una costante.
Quindifor(int i=0;i<=3;i++) { pippo[i]=i+1; }
otterrai/troverai dentro agli elementi di pippo pippo[0]=1, pippo[1]=2,pippo[2]=3,pippo[3]=4
L’unico obbligo è dare una dimensione iniziale all’array ovvero DEVI dire quante variabili/celle deve avere l’array.

Tu per salvataggio dei valori cosa intendi ? Dovresti pi leggere questi valori per una successiva “verifica” ?

Scusami forse non mi sono spiegata bene, io vorrei salvare questi dati ed estrapolarli per poi rielaborarli in un secondo momento attraverso matlab.

Mi viene in mente: o li salvi su una schedina SD in un file oppure li mandi a MathLab (che non conosco) attraverso un collegamento sulla seriale/usb (credo mathlab può ricevere dati via seriale).
Nel primo caso dovrai spostare la SD su un PC, nel secondo hai i dati in tempo reale.
Lascio però la parola a chi conosce MathLab

Io per questi esperimenti brevi mando i dati sulla seriale e li catturo con Realterm che mi permette anche di aggiungere la data con il tempo.
Mi sbrigo velocemente, posso usare il plotter seriale per vedere che succede, faccio le necessarie modifiche se trovo errori per poi vedere subito i risultati.

Sono abbastanza ignorante in materia purtroppo e leggo che non è molto semplice salvare direttamente i valori letti, ad esempio in un array. Io utilizzo un Arduino Mega 2560 e le acquisizioni sarebbero della durata di circa 40 secondi, al massimo di un minuto.

La principale limitazione riguarda la quantità di RAM a disposizione, capisci che in 40 secondi posso anche arrivare a campionare 40 campioni (1 al secondo) oppure 4000 campioni (1 ogni 0.01s). Per 4000 campioni da 10-bit servono 8000 byte, ora se non faccio confusione la 2560 ha 8Kbytes che sono appunto 8000 bytes.

Come ti hanno suggerito puoi acquisire un dato e lo invii via Serial1.println(dato), con la MEGA hai fino a 4 porte seriali hardware per cui non perdi neanche la possibilità di debug con il serial monitor.

Se ci fornisci maggiori dettagli si può rispondere in modo specifico.

Ciao.

Grazie a tutti per le risposte! Alla fine ho risolto mandando i dati a seriale e acquisendoli attraverso processing!