Ho trovato e provato questo sketch ma...

Buona sera, dopo aver provato il classico example del blink e dopo aver visto una videoguida su arduino ho trovato questo sketch bello fatto e pronto.
Il mio scopo è di creare un semplice timer collegato ad un sensore PIR (che mi funge da semplice pulsante) per attivare un led per x secondi. (attualmente uso un semplice pulsante NA - normalmente aperto - per simulare il PIR.
Dopo aver provato questo sketch (ripeto non fatto da me) mi sono accorto che ogni volta che chiudo il contatto del pulsante il timer somma il tempo impostato nel delay.
Questo a me non server in quanto ho solo bisogno che il pulsante mi rifaccia partire il loop del timer senza sommare il tempo. Chi pefavore mi puo dare una mano sul come? ho cercato con la funzione cerca ma ho trovato solo timer che non si adicono alla mia esigenza.
Ecco il codice:

/* Premre il pulsante per qualche attimo.
Il relè rimarra acceso per 10 secondi */

define TASTO1 7

define LED1 8

int Stato1 = 0;

void setup()
{ pinMode(LED1, OUTPUT);
pinMode(TASTO1, INPUT);}

void loop(){

Stato1 = digitalRead(TASTO1);

if (Stato1 == HIGH)
{ digitalWrite(LED1, HIGH);
delay(10000);}
else {digitalWrite(LED1, LOW);}
}

Grazie in anticipo

Non capisco cosa significa " il timer somma il tempo"
per primo impara a fare le temporizzazioni con millis() https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay o Tutorial 16: Blink an LED Without using the delay() Function - Programming Electronics Academy

Ciao Uwe

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare ( pulsante </> ).
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Il pezzo di codice non fa nessuna "somma di tempi". Spiegati meglio, per me non è chiaro.

P.S. abituatti a scrivere in C le graffe di chiusure a capo, nell'IDE usa CTRL+T:

void setup() 
{ pinMode(LED1, OUTPUT);      
 pinMode(TASTO1, INPUT);
}

uwefed:
Non capisco cosa significa " il timer somma il tempo"
per primo impara a fare le temporizzazioni con millis() https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay o Tutorial 16: Blink an LED Without using the delay() Function - Programming Electronics Academy

Ciao Uwe

Ciao uwefed, grazie per l'indicazione. Ho scoperto che il delay non è da usare in quanto blocca totalmete tutto il codice ed in futuro questa cosa mi avrebbe creato problemi. Quindi "santo" millis(), grazie per la dritta.

Ciao