Условный оператор (практика)
Привет! На прошлом занятии мы познакомились с условным оператором. Там была только теория. Сегодня мы посмотрим, как он работает на реальной плате Ардуино. |
Далее →
Сначала вспомним, что из себя представляет условный оператор. Это такая конструкция в программировании, когда, в зависимости от условия, выполняются те или иные команды. Программа может проверять что угодно (температуру, давление, скорость...) и по имеющимся данным совершать нужное действие. |
Далее →
Возьмем уже знакомый нам "маячок". Он был в пятом уроке. Для начала собери его схему (на фотографии показана та часть, которая находится на макетке). Затем открой среду разработки и загрузи на плату скетч (Файл -> Примеры -> 01. Basics -> Fade). Убедись, что светодиод плавно мигает. |
Да, всё работает!
Нет, что-то не получается
В нашей программе яркость светодиода определяется переменной brightness. Вспомни по пятому уроку, между какими значениями она меняется? (или попробуй определить по самой программе - там есть эти величины) |
От 0 до 1
От 0 до 100
От 0 до 255
Итак, мы разобрались, что переменная яркости сначала растет от 0 до 255, потом падает обратно от 255 до 0, потом снова растет и так далее. Какая команда дает постоянное переключение вверх-вниз? ( подсказка: ищи условный оператор :-) ) |
if (brightness == 0 || brightness == 255)
analogWrite(led, brightness)
Посмотрим, из чего состоит наш условный оператор. Во-первых, здесь мы видим основу if (....). Без нее никуда. Дальше в скобках стоит само условие, при котором срабатывает наш оператор. Тут стоят две вертикальные палочки, которые обозначают условие "ИЛИ". Двойное "равно" обозначает строгое сравнение. То есть, если перевести с ардуиновского языка на русский, мы получим вот такое условие: ЕСЛИ ("яркость равна 0" ИЛИ "яркость равна 255") |
Далее →
Получается, когда яркость достигает 0 ИЛИ 255, программа переключает с падения на рост, и наоборот. Так как это идет по кругу, то в итоге мы видим, что светодиод то разгорается, то гаснет. |
Далее →
Теперь измени в условии 255 на 50. Загрузи новый скетч на плату. Что получилось в итоге? |
Быстрое мигание
Медленное мигание
Теперь верни в условие старые значения, а затем поменяй 0 на 100. Также пропиши 100 вместо нуля в строчке int brightness = 0 (это начальная яркость). Снова загрузи скетч. Как теперь мигает светодиод? |
Не разгорается полностью
Не гаснет полностью
Подведем итог. Сегодня мы познакомились с работой условного оператора. Без них не обходится ни одна программа. Поэтому нужно научиться понимать, как они работают. Лучше всего - предсказывать их поведение еще до того, как ты загрузишь скетч на плату. |
Завершить
МОЛОДЕЦ! |