Оператор if в Ардуино

Оператор ifВ этой статье мы разберем оператор if, который используется для показа того, как можно принимать различные решения в скетче.

Оператор if используется для проверки информации с клавиатуры в Arduino, которую пользователь вводит в окно Монитор порта Arduino IDE.

Дальнейшие решения могут быть приняты в зависимости от того, какую клавишу нажимает пользователь, например, если нажата клавиша «1«, можно включить встроенный светодиод Arduino, а если нажата клавиша «0«, светодиод можно выключить, в то время как все остальные нажатия клавиш игнорируются.

Использование оператора if

В программе (скетче) ниже показана работа оператора if, используемого в скетче для проверки того, был ли отправлен символ из Монитор порта Arduino IDE.

Если пользователь отправляет символ через Монитор порта, Arduino отправляет обратно текст «Вы ввели: X», где X-символ, введенный пользователем.

На скриншоте ниже показан запущенный скетч:

Работа скетча if

Как работает скетч

Структура оператора if показана здесь:

Если условное выражение принимает значение истина, выполняется код в теле инструкции. Если условный оператор принимает значение ложь, ни один код в теле оператора if выполняться не будет.

Проверка наличия символа в окне Монитор порта

В примере скетча значение, возвращаемое функцией Serial.available (), будет больше 0 только в том случае, если Arduino получил один или несколько символов из окна Монитор порта.

Оператор if будет иметь значение истина только в том случае, если был получен один или несколько символов.

Если в Arduino не было отправлено ни одного символа, оператор if будет каждый раз обрабатываться в основном цикле и каждый раз оцениваться как ложь. Таким образом, код в теле оператора if не будет выполняться.

Как только символ отправляется из окна Монитор порта, функция Serial.available() возвращает 1. Когда оператор if вычисляется снова, он принимает значение истина (т.к. 1 > 0), и выполняется код в теле оператора if.

Символ, который был отправлен из окна Монитор порта, хранится в переменной rx_byte с использованием следующей строки кода:

Поскольку символ был сохранен, теперь его можно отправить обратно в окно Монитор порта с некоторым предыдущим текстом.

Использование оператора if для включения светодиода

Оператор if можно использовать для принятия решения о включении светодиода, если получен определенный символ, как показано в следующем примере:

Если символ, отправленный из окна Монитор порта, является «a«, то светодиод на пине 13 платы Arduino будет включен. Если будет отправлен какой-либо другой символ, ничего не произойдет.

Оператор if:

Значение истина (true) будет приниматься только в том случае, если символ, полученный из окна Монитор порта и сохраненный в переменной rx_byte, соответствует символу «a«.

Выключение светодиода

Приведенный выше скетч можно изменить, чтобы добавить еще один оператор if, который можно использовать уже для выключения светодиода.

Приведенный ниже скетч включит светодиод, если » a » будет отправлено на Arduino, и выключит светодиод, если будет отправлено » b » (обратите внимание, что они чувствительны к регистру, поэтому» A » и » B » не будут работать).

Теперь, когда отправляется символ » b «, проверка оператора if для » a «оценивается как ложь, но проверка оператора if для символа » b » оценивается как истина, и светодиод выключается.

Вывод

Мы думаем, что данный материал получился не сложным, важно, что мы смогли в ней очень емко и с практическими примерами объяснить вам работу оператора if.

Более эффективный способ включения и выключения светодиода мы рассмотрим с вами в следующей статье, в которой расскажем об операторах else и else if.

С Уважением, МониторБанк

Добавить комментарий