Hallo !
Mein Problem ist folgendes das ich nach einer Zeitfunktion if(millis() - temps1 >= 1300) eine Variable "lauf1" von dem Wert true auf false umschalte. Mit dem umschalten auf false möchte ich eine weitere Funktion ausführen lassen, aber hier liegt das Problem.
Denn wenn ich mir den Status der Variable im Monitor ansehe bekomme ich folgendes Muster:
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110
Ich bräuchte aber das das der 0er weitergetrieben wird das ich meine Funktion vorsetzen könnte. Oder das man den Wert 1 oder 0 in eine Variable speichert und mit dieser dann weiter macht? Ich habe schon ein paar Sachen probiert aber bekomme es einfach nicht hin.
unsigned long temps1 = millis();
const int pinSchalterStellung6 = 13; //22
const int pinSchalterStellung5 = 12; //23
const int pinSchalterStellung4 = 11; //24
const int pinSchalterStellung3 = 10; //25
const int pinSchalterStellung2 = 9; //26
const int pinSchalterStellung1 = 8; //27
const int pinLed1 = 22; //Grün46
const int pinLed2 = 23; //Grün47
const int pinLed3 = 24; //Grün48
const int pinLed4 = 25; //Grün49
const int pinLed5 = 26; //Grün50
const int pinLed6 = 28;
float stufe;
int state;
void setup ()
{
pinMode(pinSchalterStellung6,INPUT_PULLUP);
pinMode(pinSchalterStellung5,INPUT_PULLUP);
pinMode(pinSchalterStellung4,INPUT_PULLUP);
pinMode(pinSchalterStellung3,INPUT_PULLUP);
pinMode(pinSchalterStellung2,INPUT_PULLUP);
pinMode(pinSchalterStellung1,INPUT_PULLUP);
pinMode(pinLed1,OUTPUT);
pinMode(pinLed2,OUTPUT);
pinMode(pinLed3,OUTPUT);
pinMode(pinLed4,OUTPUT);
pinMode(pinLed5,OUTPUT);
pinMode(pinLed5,OUTPUT);
pinMode(pinLed6,OUTPUT);
Serial.begin(9600);
}
void loop()
{
static bool fertig1;
static bool lauf1;
if(digitalRead(pinSchalterStellung5) == LOW && !fertig1)
{
lauf1 = true;
Serial.print(lauf1);
delay(10);
digitalWrite(pinLed1,LOW);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed3,LOW);
digitalWrite(pinLed4,LOW);
digitalWrite(pinLed5,LOW);
digitalWrite(pinLed6,LOW);
digitalWrite(pinLed1,HIGH);
digitalWrite(pinLed2,HIGH);
digitalWrite(pinLed3,HIGH);
digitalWrite(pinLed4,HIGH);
digitalWrite(pinLed5,HIGH);
if(millis() - temps1 >= 1300)
{
fertig1 = true;
Serial.print(lauf1);
delay(10);
digitalWrite(pinLed1,LOW);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed3,LOW);
digitalWrite(pinLed4,LOW);
digitalWrite(pinLed5,LOW);
temps1 = millis();
lauf1 = false;
Serial.print(lauf1);
delay(10);
}
}
if (digitalRead(pinSchalterStellung5) == HIGH) {
fertig1 = false;
temps1 = millis();
delay(10);
}
}
LG