Урок 3.2. Переключатель света
На этом уроке вы научитесь использовать датчик яркости, чтобы автоматически управлять световым (красным) LED индикатором на микроконтроллере.
Вы научитесь:
- Настраивать и отслеживать показатели датчика яркости
- Использовать выражения с оператором if
- Контролировать работу светового LED индикатора (красного) на микроконтроллере TI-Innovator Hub с помощью датчика яркости
Теперь, когда вы научились работать со светом, воздействующим на датчик в микроконтроллере TI-Innovator Hub, используйте написанную вами программу для того, чтобы управлять встроенным красным световым LED индикатором. Ваша задача сделать так, чтобы он включался и выключался в зависимости от значения яркости.
Примечание для учителя: Когда вы работаете с копией программы, то все изменения будут происходить именно в копии, а не в исходной программе. Это гарантирует сохранность программы от ошибок.
1. Для начала сделайте копию программы, которую вы написали в предыдущем уроке (Урок 3.1. Работа со светом).
Чтобы скопировать ее из редактора Editor, выполните следующую команду из меню: menu > Actions > Create Copy....
Если пункт Create Copy... (Сделать копию) недоступен, сначала нажмите ctrl+B в редакторе Editor, чтобы сохранить программу, а затем повторите попытку. Перед названием файла вверху не должно быть символа звездочки (*).
В диалоговом окне будет добавлена цифра 1 к названию вашего файла Python. Если эти действия помогли, нажмите enter. Если все равно ничего не получилось, измените имя файла и нажмите enter.
2. Теперь в вашем документе TI-Nspire™ есть еще одно приложение редактора Editor, и копия вашей программы будет загружена на страницу после исходной программы. Проверьте, что так и произошло (пролистайте вкладки), а потом снова вернитесь на страницу с копией программы, потому что именно тут вы будете вносить изменения в программу.
Примечание для учителя: Возможна небольшая путаница с названиями файлов: Есть сам документ TI-Nspire, а есть файлы Python в этом документе. Во всем документе каждое имя файла Python должно быть уникально.
В следующем шаге будет рассмотрено применение структур с оператором if....
3. Как вставить выражения с оператором if:
В меню menu > Built-ins > Control есть три выражения с оператором if..., как показано на рисунке. Каждое из них используется в программах в разных ситуациях, и все они зависят от одного или нескольких логических условий (выражений, которые либо "Верны" (True), либо "Неверны" (False)):
if <condition>: block
|
if <condition>: block else: block
|
if <condition>: block elif <condition>:
else: block |
Выражение elif - это сокращение от else if на языке Python.
Вставка одной из этих структур в программу отобразит выражение BooleanExpr в поле <condition> (условие). Это значит то же самое.
Примечание для учителя: Выражение BooleanExpr выдает ответ "Верно" (True) или "Неверно" (False).
"Верно" (True) и "Неверно" (False) являются встроенными константами на языке Python, но их нет ни в одном меню калькулятора TI-Nspire CX II-Т. Обратите внимание на заглавную букву в названии!
4. Сразу после функции считывания яркости в программе вставьте структуру if..else из меню menu > Built-ins > Control.
Поле <condition> или BooleanExpr будет зависеть от переменной b.
if b > 25:
block
else:
block
Не забудьте поставить двоеточие : в конце выражения с оператором if.
Значение 25 дано в качестве примера. Вы можете изменить его в зависимости от показателей фактической яркости.
5. Замените данные двух блоков: Один из них будет содержать функцию, включающую свет, а другой - выключать его. Изучите логику структуры, чтобы решить, какое действие, и в каком блоке будет выполняться. На рисунке ниже мы специально поставили вопросительные знаки, чтобы вы сами могли выбрать. Знаки ??? в примере нужно заменить нужными вам данными.
Напоминаем, что выражения для работы со светом light. вы можете найти в меню: menu > TI Hub > Hub Built-in Devices > Light Output.
Запустите программу. И сохраните свою работу!
Вы можете сами настроить пороговое значение (в примере оно равно 25) в выражении с оператором if, чтобы оно подходило для работы с вашими показателями света и настройками диапазона яркости brightness.range().
Примечание для учителя: Когда яркость высокая (если b>25), следует выключить LED индикатор, используя выражение light.off(). При низкой яркости включите LED индикатор с помощью выражения light.on().