Урок 3.1. Работа со светом
В рамках данного урока вы научитесь использовать и настраивать датчик яркости на микроконтроллере TI-Innovator Hub, а также узнаете, как можно использовать свою программу в других проектах.
Вы научитесь:
- Пользоваться датчиком яркости
- Настраивать рабочий диапазон датчика яркости
- Фиксировать показания датчика яркости
- Регулировать свет с помощью датчика яркости
В отличие от инструментов работы со светом, цветом и звуком на микроконтроллере TI-Innovator Hub датчик яркости является устройством ввода, а не вывода. Программист может написать программу, в которой на основе числовых значений, полученных от датчика яркости, выполняются некоторые действия. Вы можете либо работать со значениями яркости по умолчанию, либо задать свой собственный пользовательский диапазон значений с помощью специальной функции brightness.range().
Датчик яркости можно увидеть на одной из сторон микроконтроллера TI-Innovator Hub. Он подписан.
Примечание для учителя: На этом уроке учащиеся будут выполнять простой проект, который предполагает лишь считывание значений яркости и отображение их на экране.
1. Начните работу с создания нового проекта Python Hub. После этого нужно ввести три следующих выражения:
cls()
text_at(13,"Press [esc] to end","center")
while get_key() != "esc":
block
Все эти выражения находятся в меню: menu > TI Hub > Commands.
Функция cls() удаляет все данные с экрана.
Выражение text_at(13, ...) отображает сообщение по центру экрана снизу.
Когда вы запустите программу, остановить ее можно с помощью кнопки esc.
2. В блоке оператора while используйте два выражения: одно для считывания уровня яркости, второе - для отображения этого значения.
Сделайте так, чтобы переменная b считывала измерения яркости.
b = brightness.measurement()
Эту функцию можно найти в меню: menu > TI Hub > Hub Built-in Devices > Brightness Input.
Добавьте также еще одну функцию:
text_at(7, "brightness = " + str(b), "left")
Выражение text_at(7... является вертикальной серединой экрана.
3. Что следует знать о выражении "brightness = " + str(b):
Элемент str(b) (который можно вставить из меню: menu > Built-ins > Type) конвертирует числовое значение переменной b в строку, потому что функция text_at() отображает только текст (символы), а не значения числовых переменных.
Элемент + sign объединяет слово "яркость = " ("brightness = ") со строковым значением переменной b. Такой тип сложения строк называется объединением.
В данном случае выравнивание по левому краю (left) будет более уместным, чем по центру (center). Имейте в виду, если вы все же выберете выравнивание по центру, то старые данные не всегда будут полностью замещены новыми данными, так как длина строки может быть разной. Однако вы можете переместить текст ближе к центру, добавив пробелы перед выражением, например, так: " brightness = " (пробел внутри кавычек).
4. Теперь запустите программу, чтобы посмотреть, какие данные будут отображены на экране. В итоге у вас должно получиться примерно так же, как показано на рисунке, и значения яркости будут меняться.
5. Немного замедлите скорость отображения значений на дисплее, добавив выражение sleep() сразу после функции text_at(). Не забудьте структурировать его так же как другие выражения в блоке оператора while.
Снова запустите программу и определите самое минимальное и самое максимальное значение, определяемое датчиком, на который воздействует свет разной интенсивности.
Примечание для учителя: Диапазон яркости по умолчанию составляет [0,100]. Неплохим источником света может послужить фонарик вашего смартфона. А вот значения яркости, равного 0, добиться будет сложно.
6. Если вы хотите задать пользовательский диапазон значений, которые выдает датчик яркости, можно воспользоваться следующим выражением:
brightness.range(min, max)
Его можно найти в меню: menu > TI Hub > Hub Built-in Devices > Brightness Input.
Необходимо поместить это выражение непосредственно перед циклом с оператором while. Для значений min и max можно использовать любые числа, главное, чтобы min < max.
Настройте диапазон по своему усмотрению и запустите программу снова, чтобы посмотреть, какие значения получатся на этот раз. Поздравляем, теперь у вас есть свой собственный цифровой прибор измерения интенсивности света.
Для чего это нужно, вы узнаете на следующих уроках...
Примечание для учителя: Настройка диапазона значительно упрощает работу с другими инструментами на микроконтроллере TI-InnovatorHub, например, звуком и цветом. Потому что не нужно будет конвертировать данные из одной шкалы в другую. С этими процессами вы познакомитесь на следующих уроках.
Пользователь может перенастроить диапазон яркости в программе, но это требуется не часто.