Go Down

Topic: skript nur einmal abspielen (Read 1 time) previous topic - next topic

Vansen

für den fall, dass du es nicht in der setup funktion stehen haben willst oder vll. ein bestimmter teil 2mal aber nicht mehr stattfinden soll, so kannst du einen counter benutzen. wenn dieser einen bestimmten wert erreicht, dann wird die anweisung nicht mehr ausgeführt, der rest des sketches schon.

maverick1509

Hallo,
In der Setup eine variable definieren, z.B. start=0,
In der void loop
start++;
if start < 2 {

Mach was

}

Gruß

strohhirn

Vielen Dank, klappt so wie ich es wollte.
Gruß

strohhirn

strohhirn

Guten Tag,
Verzeihung ich habe doch etwas übersehen, die if abfragen funtionieren nicht mehr wenn ich denn ganzen loop teil nur einmal abspiele.
Meine idee ist die abfrage solange abzuspielen bis die Voraussetzung erfüllt ist.
Code: [Select]
void programm1 (){
 
static uint32_t previousMillis = 0;

    if (sensors.getTempC(Sensor1) >= 25.8) {
      digitalWrite(k1, HIGH); 
    } else {
      digitalWrite(k1, LOW);
      digitalWrite(k2, HIGH);
      digitalWrite(k3, HIGH);
      previousMillis = millis();
    }

    if (millis() - previousMillis > interval) {
      digitalWrite(k2, LOW);
      digitalWrite(k3, LOW);
      previousMillis = 0;
    }

    for(int fade = 0 ; fade <= 51; fade +=1) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fade);         
    // wait for 30 milliseconds to see the dimming effect   
    delay(30);
   
 
    }
  }

In diesem sketch soll die erste if abfrage solange laufen bis k1 HIGH ist.
Aber wie mache ich das?
Könnt ihr mir bitte nochmal helfen?

Mfg

strohhirn
Gruß

strohhirn

maverick1509

wenn ich dich richtig verstehe, dann so:

if (sensors.getTempC(Sensor1) >= 25.8 && k1 == LOW) {

gruß
Bernward

Go Up