Пример 6. Фоторезистор

Примеры

ПРИМЕРЫ

Фоторезистор — компонент, меняющий сопротивление в зависимости от количества света, падающего на него. В полной темноте он имеет максимальное сопротивление в сотни килоом, а по мере роста освещённости сопротивление уменьшается до десятков килоом. На его основе очень просто создать схему, которая бы поставляла данные об уровне освещённости в виде аналогового сигнала на управляющую электронику.

Более подробную информацию о резисторах и фоторезисторе, в частности, можете найти в соответствующей заметке.

Фоторезистор на схеме


Описание:

Если интенсивность падающего света является высокой, сопротивление фоторезистора уменьшается; если низкой – увеличивается. В этом примере будем использовать восемь светодиодов для индикации интенсивности света. Чем выше интенсивность света, тем больше светодиодов горят. Когда интенсивность света достаточно высока, все светодиоды будут гореть. Когда нет света – все светодиоды гаснут.


Схема:

Схема: Подключение фоторезистора и светодиодов


Скетч:


Заметка:

map(value, fromLow, fromHigh, toLow, toHigh)

  • value: значение для переноса
  • fromLow: нижняя граница текущего диапазона
  • fromHigh: верхняя граница текущего диапазона
  • toLow: нижняя граница нового диапазона, в который переноситься значение
  • toHigh: верхняя граница нового диапазона

Функция пропорционально переносит значение (value) из текущего диапазона значений (fromLow … fromHigh) в новый диапазон (toLow … toHigh), заданный параметрами.

Обратите внимание, что “нижняя граница” может быть как меньше, так и больше “верхней границы”. Это может быть использовано для того чтобы “перевернуть” диапазон:

y = map(x, 1, 50, 50, 1);
Возможно использование отрицательных значений:

y = map(x, 1, 50, 50, -100);
Функция map() оперирует целыми числами. При пропорциональном переносе дробная часть не округляется, а просто отбрасывается.