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