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);
}
}