Условный оператор if выполняет определённые команд при условии, что выражение в скобках истина(TRUE).
Оператор всегда начинается с ключевого слова if. (в переводе с англ. — «если»).
Операторы сравнения
x == y (x равно y)
x != y (x не равно y)
x < y (x меньше y)
x > y (x больше y)
x <= y (x меньше или равно y)
x >= y (x больше или равно y)
Пример 1. Если переменная val = 5 тогда условие верно, и сработает команда, находящаяся в скобках.
Загорится светодиод, находящийся на плате Ардуино
int val = 5;
if (val == 5) {
// Условие ВЕРНО
digitalWrite(13, HIGH);
}
Пример 2. Если переменная val больше или равно 5, тогда условие верно, и сработает команда, находящаяся в скобках.
Загорится светодиод, находящийся на плате Ардуино
int val = 5;
if (val >= 5) {
// Условие ВЕРНО
digitalWrite(13, HIGH);
}
Пример работы.
const int ledPin = 13;
int val = 5; // Переменная val равна 5
void setup() {
pinMode(ledPin, OUTPUT); // 13 пин Ардуино объявляем ВЫХОДОМ
}
void loop() {
if (val == 5) {
// Условие ВЕРНО
digitalWrite(ledPin, HIGH); // Зажечь светодиод
delay(1000); // Пауза 1 секунда
digitalWrite(ledPin, LOW); // Погасить светодиод
delay(1000); // Пауза 1 секунда
}
if (val >= 5) {
// Условие ВЕРНО
digitalWrite(ledPin, HIGH); // Зажечь светодиод
delay(1000); // Пауза 1 секунда
digitalWrite(ledPin, LOW); // Погасить светодиод
delay(1000); // Пауза 1 секунда
}
if (val < 5) {
// Условие НЕ ВЕРНО
digitalWrite(ledPin, HIGH); // Зажечь светодиод
delay(10000); // Пауза 10 секунд
digitalWrite(ledPin, LOW); // Погасить светодиод
delay(1000); // Пауза 1 секунда
}
delay(10000); // Пауза 10 секунд
}
Выражения, которые вычисляются внутри круглых скобок, могут состоять из одного или нескольких операторов.
Внимание!
Следите, чтобы случайно не использовать знак простого равенства (например, if (x = 10)). Знак простого равенства – это оператор присваивания, и устанавливает значение х равное 10 (заносит значение 10 в переменную х). Вместо этого используйте знак двойного равенства (например, if (x == 10)), который является оператором сравнения и проверяет, х равен 10 или нет.