Всем привет! Сегодня мы поговорим с вами об условном операторе ifв контексте программирования платы ardiuno uno. Тема условных операторов уже освещалась на сайте, кто не читал, советую ознакомиться.
Кроме конструкции условного оператора if
или if-else
также используется структура else-if. С помощью этой конструкции программа будет проверять следующее условие на предмет истинности, если предыдущее условие ложное:
В качестве примера, рассмотрим следующую задачу:
Программа считывает значения с аналогового вывода (пина) платы ардуино уно и сравнивает его со значением, что присвоено переменной attentionLimit (с англ. порог сигнализации). В случае, если считываемое значение выше заложенного, светодиод включается.
Для того, чтобы выполнить практическую часть проекта, нам понадобится:
- Плата Arduino Uno;
- 1 переменный/подстроечный резистор (далее – ПР);
- 3 резистора на 220 Ом;
- 3 светодиода (зеленый, красный, белый);
- Джамперы.
Схема подключения
Рассмотрим алгоритм работы программы.
Переменная analogValueFromResistant принимает значения полученные в результате считывания данных с аналогового вывода (пина) A0, к которому подключен средняя нога ПР. Как писал ранее, значение, что присваивается переменной analogValueFromResistant сравнивается со значением переменной attentionLimit, которое мы задали при написании программы. В случае, когда значение analogValueFromResistant будет превышать значение переменной attentionLimit, светодиод, что подключен на 9 вывод (пин) платы будет включатся. Если же считанное значение будет меньше сравниваемого, светодиод останется в выключенном состоянии или выключится, если до этого был включён.
С включением одного светодиода разобрались. Доработаем схему, добавив два светодиода и два резистора. Вращая вал ПР, мы будем включать один из трех светодиодов. Для реализации данной задачи воспользуемся конструкцией условного оператора else-if.
Программа будет сравнивать считываемое значение с заданными пределами:
- от 0 (min) до 400 – включается зеленый светодиод (выполняется первое условие);
- от 400 до 800 – включается красный светодиод (не выполняется ни первого, ни второго условия);
- от 800 до 1023 (max) – включается белый светодиод (выполняется второе условие).
Урок 9
P.S. Красный светодиод включается при невыполнении первого и второго условия. То есть значение на аналоговом входе больше 400 (предел зеленого), но меньше 800 (предел белого).