(495) 240-82-80ПН-СБ с 10:00 до 18:00
We speak English

Урок 3.3. Яркость и цвет

В рамках данного урока вы будете использовать датчик яркости, чтобы с помощью него контролировать яркость цветового LED индикатора на микроконтроллере.

Вы научитесь:

  • Использовать функцию диапазона brightness.range() для изменения шкалы яркости
  • Использовать значение яркости для включения цветового LED индикатора
  • Применять числовые трансформации

В отличие от светового (красного) LED индикатора на микроконтроллере TI-Innovator Hub цветовой LED индикатор может менять яркость. В этом уроке вы будете использовать датчик яркости, чтобы контролировать этот параметр.

1. Еще раз скопируйте программу для работы с измерением яркости, которую вы написали в первой части урока 3 (Урок 3.1. Работа со светом), или программу для работы с яркостью и светом (Урок 3.2. Переключатель света). Они практически одинаковые.

Так как значение для каждого цветового канала LED индикатора может быть только от 0 до 255, диапазон яркости также следует настроить от 0 до 255 с помощью следующего выражения:

brightness.range(0, 255)

Значение яркости b можно теперь использовать для всех трех каналов цвета, если это необходимо.

2. Далее после выражения brightness.measurement() нужно добавить еще одну функцию, которая позволяет включать цветовой LED индикатор, используя переменную b для всех трех каналов:

color.rgb(b,b,b)

Запустите программу.

Примечание для учителя: В данном конкретном случае, чем светлее в комнате, тем ярче горит LED индикатор. Вам нужно сделать наоборот.

3. Обратите внимание на то, что LED индикатор горит ярче, если уровень света повышается. Нужно сделать наоборот! Чем темнее в комнате, тем ярче должен гореть индикатор. Измените переменную b (между выражениями brightness.measurement() и color.rgb()), чтобы LED индикатор горел ярче при низком уровне света, и тускло - при высоких значениях (Видите переменную b=??? на примере ниже?)

Постарайтесь сделать это самостоятельно перед тем, как перейти к следующему шагу.

Примечание для учителя: Линейные трансформации переменной в программировании - частое явление.

4. Вот какое выражение вам может понадобиться:

b=255 - b

Когда переменная b равна 0, выражение 255-b изменяет значение b на 255; когда переменная b равна 255, выражение 255-b изменяет значение b на 0.

Вы можете использовать выражение text_at() в программе, чтобы отображать исходное, а не измененное значение переменной b.

Можете ли вы изменить программу таким образом, чтобы индикатор загорался не только белым, но и другими цветами?

По окончании программы цветовой LED индикатор может оставаться включенным. Добавьте выражение в конце цикла (но не структурируйте его), чтобы выключить LED индикатор.

Примечание для учителя: У вас нет опыта в программировании? Тогда выражения в формате b=255-b могут показаться вам неверными, но они часто используются в программировании. Здесь сначала вычисляется выражение справа от знака равенства, а затем результат вычисления сохраняется в переменной слева от него. Значение b справа отличается от значения слева.

Еще один способ использовать разные цвета для индикатора - это применение только двух каналов цвета. Например, сочетание красного и зеленого даст желтый: color.rgb(b, b, 0). Или вы можете изменить значение между красным и зеленым, используя выражение color.rgb(b,255-b,0).