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