Bedingungen kombinieren
Teil des Abschnitts Erste Schaltungen der Arduino-Journey von Coddy. Lektion 21 von 22.
Zwei Bedingungen können zu einer verbunden werden:
&&bedeutet und: nur dann wahr, wenn beide Seiten wahr sind||bedeutet oder: wahr, wenn mindestens eine Seite wahr ist
if (count >= 3 && count <= 7) { ... } // 3, 4, 5, 6 oder 7
if (count == 1 || count == 9) { ... } // 1 oder 9Die erste Bedingung bedeutet: „count ist mindestens 3 und höchstens 7“: ein Bereich. Die zweite bedeutet: „count ist 1 oder count ist 9“.
Jede Seite muss ein vollständiger Vergleich sein. count == 1 || 9 bedeutet nicht „1 oder 9“: Die rechte Seite ist für sich allein 9, was das Board als wahr behandelt. Daher ist die gesamte Bedingung immer wahr.
Auch count >= 3 || count <= 7 ist immer wahr, denn jede Zahl ist entweder mindestens 3 oder höchstens 7. Für einen Bereich brauchst du &&.
Aufgabe
MittelDer Starter zählt alle 300 ms hoch. Rote LED an Pin 8, grüne LED an Pin 9. Bei jedem Durchlauf:
- grüne LED einschalten, wenn
countzwischen 4 und 6 (4, 5 oder 6) liegt, andernfalls ausschalten - rote LED einschalten, wenn
count2 oder 8 ist, andernfalls ausschalten
Klicke auf Run und dann auf Check.
Probier es selbst
int count = 0;
void setup() {
pinMode(8, OUTPUT); // rot
pinMode(9, OUTPUT); // grün
Serial.begin(9600);
}
void loop() {
count = count + 1;
Serial.println(count);
// Grün leuchtet von 4 bis 6, Rot leuchtet bei 2 und bei 8
delay(300);
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Erste Schaltungen
1Hallo, Board
Eine LED blinken lassenSetup und LoopDie Blinkgeschwindigkeit ändernEine eigene LEDZwei LEDs im WechselKommentare in deinem Sketch4Entscheidungen
Entscheidungen mit ifAuswählen mit if und elseWerte vergleichenBedingungen kombinierenEinen Knopf auslesen2Mit deinem Computer kommunizieren
Hallo, Serial MonitorPrint oder PrintlnZahlen ausgebenDeine erste VariableHochzählenWenn ein Int an seine Grenzen stößtÜbe selbstständig: Arduino-Playground