If clauses Typ 1, 2, 3-was setzte ich ein?

Hallihallo!

Ich habe da mal eine Frage:

Ich schreibe am Donnerstag in Englisch eine Klausur und habe das Thema if clauses. Ich habe auch Übungsblätter bekommen, komme auch überall klar nur hierbei nicht. Ich verstehe wie man die drei Typen bildet und wann man welchen verwendet. Damit ihr wisst, was ich weis;

If clauses Typ I:

- Verwendung: um über eine mögliche Handlung in der Zukunft zu sprechen, die von einer Bedingung abhängt, die in der Gegenwart erfüllt ist.

- Bildung: if + Präsens, Futur I

- Beispiel: If it rains tomorrow, I will stay at home.

If clauses Typ II:

- Verwendung: um über eine unrealistische oder unwahrscheinliche Handlung in der Gegenwart oder Zukunft zu sprechen.

- Bildung: if + Präteritum, Konditional II

- Beispiel: If I had a million dollars, I would buy a house.

If clauses Typ III:

- Verwendung: um über eine Handlung in der Vergangenheit zu sprechen, die nicht stattgefunden hat, aber hätte stattfinden können, wenn eine Bedingung erfüllt worden wäre.

- Bildung: if + Plusquamperfekt, Konditional II (Perfekt)

- Beispiel: If I had studied harder, I would have passed the exam.

Bei der einen Aufgabe komme ich aber nicht weiter. Ich muss nähmlich selber entscheiden, was ich einsetzte. Was ich jetzt nicht verstehe: Kann man nicht überall alles einsetzten? Ich meine, ich weiß in der Aufgabe nich, ob es sich um die Zukunft, Gegenwart, oder Vergangenheit handelt. Leider habe ich keine Lösungen dazu. Aber weiß vielleicht jemand woran ich das erkennen kann. Oder kann ich normalerweise wirklich überall jeden Typ einsetzen?

Würde mich über Antworten freuen, danke! ;)

Bild zu Frage
Englisch lernen, Englischunterricht, Grammatik, If clauses
Arduino: millis() als delay() in If-Klause benutzen?

Hi! Ich suche schon lange nach einer Lösung wie ich millis() als delay() benutzen kann. Ich habe einen Bodenfeuchtesensor und ein Relais, das an eine Pumpe angeschlossen wird. Ich möchte, dass das Relais für 10 Sekunden angeht, wenn der Bodenfeuchtesensor einen Wert über 600 ausspuckt. Bisher lautet die If-Klause so:

(siehe unten)

Möchte das aber gerne mit millis() machen. Habe schon viel studiert und probiert, aber keine Lösung gefunden. Nachgelesen habe ich auch. Das Prinzip von millis habe ich verstanden, nur nicht, wie das in einem If-Satz funktioniert.

Vielen Dank für Eure Hilfe!

#include "DHT.h"
#define DHTPIN 12
#define DHTTYPE DHT22

//VENT DELAY//
long schedule_freq = 3200000L;
long schedule_duration = 300000L;


long schedule_timestamp = 0L;
long schedule_timestamp_off = 0L;


bool schedule = false;
//VENT DELAY//


//PUMP//

//PUMP//


const int heatPin = 7;
const int ventPin = 4;
const int pumpPin = 12;


int moist_value = analogRead(A0);

DHT dht(DHTPIN, DHTTYPE);




void setup() {
  dht.begin();
  pinMode(heatPin, OUTPUT);
  pinMode(ventPin, OUTPUT);
}


void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();


  if (t <= 16.0) {
      digitalWrite(heatPin, HIGH);
  }


  if (t >= 25.0) {
    digitalWrite(heatPin, LOW);
  }


  if(moist_value >= 600) {
    digitalWrite(pumpPin, HIGH);
    delay(10000);)
    digialWrite(pumpPin, LOW;
    
    }
    
      if (schedule_timestamp < millis()) {
      schedule_timestamp = millis() + schedule_freq;
        schedule_timestamp_off = millis() + schedule_duration;
        schedule = true;
        //Vent On
        digitalWrite(ventPin, HIGH);
      }
    
    
      if (schedule_timestamp_off < millis() && schedule ) {
      schedule = false;
      //Vent Off
      digitalWrite(ventPin, LOW);
    
    
      }
    
    
    }
Computer, Technik, programmieren, Arduino, Technologie, C (Programmiersprache), If clauses, Arduino Uno, Arduino IDE

Meistgelesene Fragen zum Thema If clauses