Skip to main content

Podmínky IF a ELSE

V článku se budeme zabývat podmínkami if , else if a else.

Podmínky v C jsou v některých případech potřeba. Podmínky budeme potřeba v situacích, kde budeme potřebovat využít více možností, ale jen aby platila jen jedna varianta, když se splní požadavek na splnění podmínky.

if ( naše podmínka ){
// zde bude příkaz k provedení, když bude podmínka splněna.
}

Podmínky s jedním příkazem

if (x > 200) digitalWrite(LEDpin, HIGH);

if (x > 220)
digitalWrite(LEDpin, HIGH);

if (x > 20){ digitalWrite(LEDpin, HIGH); }

Podmínky s více příkazy, kde je nutné používat složené závorky.

if (x > 65){
digitalWrite(Ledka1, HIGH);
digitalWrite(Ledka2, LOW);
}

Ukážem si příklad z led diodou. Jedná se o jednoduchou ukázku.

// deklarace proměnné s použitím define, je možné použít i byte nebo int.
// define nepoužívá ram. U byte a int ano.

define ledka 3

define pinAnalog A0

int pot;
void setup() {
Serial.begin(9600);
pinMode(ledka, INPUT);

}

void loop() {
// nastavuje hodnotu z 1023 na 255,toto nastavení jde provést i přes map.
pot = analogRead(pinAnalog)/4;
// Jakmile se na analogu oběví více než 60, tak se ledka rozvítí.
if (pot > 60) digitalWrite(ledka, HIGH);

}

Příklad s více podmínkami. Kde už je znázorněn i else if a else.

// deklarace proměnné s použitím define, je možné použít i byte nebo int.
// define nepoužívá ram. U byte a int ano. 
#define ledka 3
#define ledkaD 4
#define pinAnalog A0
int pot;
void setup() {
Serial.begin(9600);
pinMode(ledka, INPUT);
pinMode(ledkaD, INPUT);

}

void loop() {
  // nastavuje hodnotu z 1023 na 255,toto nastavení jde provést i přes map.
  pot = analogRead(pinAnalog)/4;
if (pot < 60) {
  digitalWrite(ledkaD, HIGH);
  digitalWrite(ledka, LOW);
}
// Zde musí platit obě podmínky, a to větší než 60 a menší než 120. Jen upozorňuji, že bez znaménka =, se příkaz bude neplatý už od 119.
else if ((pot > 60) && (pot < 120)){
  digitalWrite(ledkaD, LOW);
  digitalWrite(ledka, HIGH);
}
else {
  // zde bude příkaz, který se provede, když nebude ani jedna podmínka platit.
}
}