Array e millis come funzionano insieme?

La verifica con millis() si fa in questo modo ...

#define PERIODO_ACQ    180000
...
...
unsigned long lastMillisAcq = 0;
...
...
if ( millis() - lastMillisAcq > PERIODO_ACQ ) {
   lastMillisAcq = millis();
   ...
   ... // qui quello che devi fare ogni PERIODO_ACQ
   ...
}

... in questo modo il programma NON sta bloccato e puoi anche fare altre cose, ad esempio una if simile, ma con periodo di 1000 per far lampeggiare il LED ogni secondo ... e così via.

Guglielmo