AJUDA ARDUINO ( BOTAO ) TIMER

Aew galera ... eu to realmente travado ! n sei o que fazer ...
tipo precisaria fazer o seguinte ...
Preciso fazer tipo um timer de 3 segundos .. se nesses 3 segundos apertar o botão vai acender o led, se passar os 3 segundos não vai mais acender.

já tentei com delay .. for ... millis()...
n consigo simplesmente no for por exemplo ele da prioridade ao laço não consigo entender...
preciso muito disso .. se puderem me ajuda! plx

Com o milis e vendo o exemplo do Blinky without delay isso é facil de fazer, algo assim:

long long lastMilis = milis();
if((lastMilis-milis()) <3000 ){
  if(digitalRead(pinoBotão) == 1){
    digitalWrite(PinoLed,HIGH); }
   }

Assim deve dar