Go Down

Topic: 2 Taster steuern 1 Lampe an... (Read 78 times) previous topic - next topic

addy76

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.


Code: [Select]

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

}

combie

#1
Sep 26, 2020, 12:52 pm Last Edit: Sep 26, 2020, 12:53 pm by combie
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.

Code: [Select]

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);
}
Ein schwarzes Schaf, zur rechten Zeit, erspart den Streit, bringt Einigkeit.

Go Up