tempo de espera para guardar dados

viva amigos,

tenho um mega ligado a um lcd e a um botao.

ao carregar no botao, vai mudando de "menu" entre temperaturas, pressao atmosferica, humidade e assim.

Se ligar o arduino sem cartao de memoria inserido, o mesmo funciona sem problemas, se colocar o cartao para datalogger, deixa de funcionar o "menu", ja vi que o problema esta no "DELAY" do datalogger.

como posso fazer com que o arduino grave os dados a cada 5 segundos, mas que nao "bloquei-e" o menu?

Cumprimentos

Nunca usei um leitor de cartoes com arduino, mas imagino que estejas a fazer algo do genero disto:

Card.write(log);
delay(5 * 1000 * 60);

e será esse delay que "encrava" o menu.

Vê este exemplo para executar a escrita no cartao de X em X segundos, sem usar o delay:

Como está o código original?