2 Taster steuern 1 Lampe an...

Hallo, hab mal ein Sketch geschrieben, da ich nichts in diese richtung beim googlen gefunden hatte teile ich mal diesen Code.

Zur Funktion: Ich habe 2 eingänge (in diesem fall Taster, können auch jegliche andere eingänge sein) diese 2 Eingänge steuern 1 Ausgang (z.B eine LED) an.
Wenn Taste 1 gedrückt wird soll die LED angehen (und auch an bleiben) bis Taster 2 die LED wieder ausschaltet.

int Ts1=0;          		//(Taster)status1
int Ts2=0;          		//(Taster)status2
int M1=0;          		        //Merker

void setup() {

pinMode(13,OUTPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
}

void loop() {

Ts1 = digitalRead(7);		//Lese Pin 7 aus und setze es als Ts1
if (Ts1 == 1)			//Wenn Ts1 = 1 ist ...
{M1++;}				//... Addiere 1 zu M1

Ts2 = digitalRead(8);		//Lese Pin 8 aus und setze es als Ts2
if (Ts2 == 1)			//Wenn Ts2 = 1 ist...
{M1--;}				//Subtrahiere 1 von M1

if(M1 > 1)			//Wenn M1 größer als 1 ist...
{M1 = 0;}			//Setze M1 auf null zurück

if(M1 < 0)			//Wenn M1 kleiner als 0 ist...
{M1 = 0;}			//Setze M1 auf null zurück


while(M1 == 1)			//Solange M1 = 1 ist...
{
Ts2 = digitalRead(8);		//Lies Pin 8 aus
if (Ts2 == 1)			//Wenn Ts2 = 1 ist...
{M1--;}				//Subtrahiere 1 von M1

digitalWrite(13,HIGH);		//Setze Pin 13 auf High

}				//Beende die While Schleife



digitalWrite(13,LOW);
}

}

Hmm...

Warum zählst du das Tasterprellen?

Wenn ich deine Anforderungen richtig verstanden habe, sollte auch dieses reichen.
Interessieren würde mich, warum es nicht reicht, wenn es nicht reicht.

const byte einTaster { 7}; // Taster schaltet gegen Vcc
const byte ausTaster { 8}; // Taster schaltet gegen Vcc
const byte leuchte   {13};

void setup() 
{
  pinMode(leuchte  ,OUTPUT);
  pinMode(einTaster,INPUT); // Pulldown nicht vergessen
  pinMode(ausTaster,INPUT); // Pulldown nicht vergessen
}

void loop() 
{
  if(digitalRead(einTaster)) digitalWrite(leuchte,1);
  if(digitalRead(ausTaster)) digitalWrite(leuchte,0);
}