ИК - датчик

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Элемент ненумерованного списка Материал: GaAsP/GaAnInP (галлия арсенид-фосфид / галлия-алюминия-индия фосфид)
2) Тип линзы: «вода»
3) Максимальный рабочий диапазон: Та=25℃
4) Диапазон напряжения: 1.1В … 1.5В
5) Диапазон рабочих температур: -40℃ … +85℃
6) Длина волны (макс.): 940 нм
7) Максимальный потребляемый ток: 10 мкА
8) Рассеиваемая мощность: 80 мВт
9) Мощность излучения (мВт/ср): 5 … 15
10) Угол обзора: 30°
11) Рекомендованный ток: 20 мА
Описание
Инфракрасный датчик позволяет определять условное расстояние до хорошо отражающих свет поверхностей. Его удобно использовать для определения черной линии и препятствий.
Принцип работы: датчик содержит 2 элемента - инфракрасный светодиод, который постоянно излучает свет в инфракрасном диапазоне, и чувствительный к инфракрасному излучению фотоэлемент. При наличии вблизи датчика отражающей поверхности, часть излученного светодиодом света возвращается в фотоэлемент. Чем ближе поверхность и чем «белее» она, тем больше света возвращается в приемник и тем выше показания датчика.

Чтобы проверить, работает ли ИК-светодиод, достаточно посмотреть на датчик через камеру, например, мобильного телефона.
Использование
Подключение
Программирование
Блоки, необходимые для работы с датчиком, расположены в группе блоков «Датчики»
Блок и генерируемая функция | Описание |

int irAnalog(int port)
| Возвращает значение от 0 до 1023, соответствующее уровню принимаемого отраженного света
Аргументы:
int port - порт, к которому подключен датчик |

int irWhite(int port, int threshold)
| Возвращает «Истина», если уровень принимаемого света выше определенного порогового уровня.
Аргументы:
int port - порт, к которому подключен датчик
int threshold - пороговый уровень, от 0 до 1023 |

int irBlack(int port, int threshold)
| Возвращает «Истина», если уровень принимаемого света ниже определенного порогового уровня.
Аргументы:
int port - порт, к которому подключен датчик
int threshold - пороговый уровень, от 0 до 1023 |
Примеры использования в проектах
Движение вдоль черной линии
Генерируемый код:
void setup()
{
}
void loop()
{
if (irBlack(IN1, 500))
{
stopMotor(1);
startMotor(2, 40);
}
else
{
startMotor(1, 40);
stopMotor(2);
}
}