.9) parametri acquisizione

acquisizione Arduino dipende da diversi fattori, elevando troppo la frequenza di campionamento potrebbe bloccare l’acquisizione a pc obsoleti ad un solo microprocessore.

Si consiglia l’uso di un PC dualcore o superiore in quanto un core ( microprocessore ) potrà essere dedicato alle operazioni di routinne del PC, mentre almeno uno sarà utilizzato dal software di arduino o di gestione della visualizzazione nel caso in cui i dati vengano passati ad altro programma per la loro gestione e visualizzazione in tempo reale.

Esistono molteplici modalità di acquisizione in funzione dell’hrdware, ed eventuali accessori utilizzati, ora vediamo quali possono essere le frequenze di acquisizione di un arduino interfacciato alla porta USB.

* i valori contraddistinti dall’asteriscono sono migliorabili utilizzando altri metodi di acquisizione

i valori indicati nelle celle colorate in azzurro arancione sono adatte per sismologia 1- 3 canali

i valori indicati nelle celle colorate in arancione sono adatte per l’ HVSR

i valori indicati nelle celle colorate in verde e giallo sono adatte per la metodologia REMI

i valori indicati nelle celle colorate in giallo sono adatte per il MASW

nel caso i dati acquisiti con 12 canali venissero considerati troppo bassi alle aspettative è possibile acquisire con 2 arduino da 6 canali in parallelo, in tal caso la velocità effettiva a canale rimane quella indicata dal 6 + 6 canali.

Con altri metodi di acquisizione si può arrivare fino ad un massimo teorico di 60.000*** campioni al secondo multiplexati che potrebbero garantire frequenze di campionamento di 2000 - 4000 hz per canale a seconda dei numeri di canali attivati, sufficiente anche per fare della ottima sismica a rifrazione e riflessione nonché, riducendo la frequenza di campionamento, anche masw e remi.

*** valore questo molto superiore di quanto viene dichiarato prudenzialmente dal costruttore (circa 9000 campioni per canale).

E’ possibile far acquisire ad una prefissata velocità di acquisizione inserendo alla fine del ciclo for di acquisizione prima della parentesi } il comando delaymicrosecond(xxx) dove xxx è un valore in microsecondi di attesa da scegliere per poter rallentare la frequenza di campionamento alla frequenza voluta.

esempio:

….........................

….........................

for (i=0; i < s; i++) {

//canale 1

ch1 = analogRead(1);

Serial.println(ch1);

….........................

delaymicrosec(xxx) // xxx è il tempo in microsecondi di arresto

// dell’acquisizione ogni ciclo for per rallentarne

// la frequenza di campionamento

}

tf= micros(); // instante finale in microsecondi

….........................