Ich & die Interupts - Fenstersteuerung

Hallo,

gegeben sind 2 Taster und 2 Relais, die von den Tastern gesteuert werden sollen.

Sinbildlich wie folgt: Taster wird gedrückt, Relais wird für 10 Sek. angezogen. Das ist ja nun einfach.

Jedoch möchte ich, sofern einer der Beiden Taster innerhalb der 10 Sek. erneut gedrückt wird, dass die Aktion abgebrochen wird. Und genau da hänge ich gerade!

Jemand Ideen?

eine Programmidee:

loop()
{
taste 1 abfragen
if (taste 1 gedrückt && statusrelais ==0&& statustaste ==0)   ///Bei drücken Taste und Relais aus relais einschelten; Intervall starten 
  {relais an
  anzeit = millis()
  statusrelais = 1;
  statustaste = 1;
  }

if (taste 1 gedrückt && statusrelais ==1&& statustaste ==0)  //Relais vor Ende des Intervalls bei nochmaligen Tastendruck auschalten
  {relais aus
  statusrelais = 0;
 statustaste = 1;
  }

 if (millis() - anzeit  > 10000 &&statusrelais == 1)   // schaltet relais nach Ende Intervall aus
{  
  relais an
  statusrelais = 0;
}

if (taste 1 losgelassen && statustaste ==1) //Tastenstatus resettieren zum erkennen des nächsten Tastendrucks
 {
 statustaste =0;
 }

Grüße Uwe

Das hat nichts mit Interrupts zu tun. Die Zeit wird mit millis() gezählt: http://arduino.cc/en/Reference/Millis

Du musst dir also die Zeit merken wann der Taster zuletzt gedrückt wurde. Und dann beim Druck die aktuelle Zeit mit der alten Zeit vergleichen. Wenn diese größer als 10000ms ist, sind 10 Sekunden vorbei.

Wenn du die Relais-Zeit mit delay() machst, musst du das auch auf millis() umstellen.