Датчик препятствия
Каждый робот, который ездит, летает или плавает, должен распознавать препятствия, находящиеся у него на пути. Чтобы робот смог это сделать, ему необходимы соответствующие датчики. Одним из таких датчиков является инфракрасный датчик препятствия.
Цифровой инфракрасный датчик обхода препятствий YL-63 (или FC-51) - один из самых распространенных датчиков. Он применяется тогда, когда нужно определить наличие объекта, а точное расстояние до объекта знать необязательно.
Описание и принцип работы датчика
Датчик работает довольно просто. На нем имеются направленный источник света и детектор света. Источником часто служит инфракрасный светодиод с линзой, а детектором — фотодиод или фототранзистор.
Датчик обнаруживает препятствия в диапазоне расстояний от нуля до установленной предельной границы. Он построен на основе компаратора LM393, который выдает напряжение на выход по принципу: обнаружено препятствие –логический уровень HIGH, не обнаружено – логический уровень LOW, данное состояние показывает и находящийся на датчике красный светодиод. Пороговое значение зависит от настройки датчика и регулируется с помощью установленного на модуле потенциометра. Для индикации питания на датчике установлен зеленый светодиод.
Светодиод на датчике постоянно включен и излучает узкий пучок света в прямом направлении. Если перед датчиком есть препятствие, то на детектор попадает отраженный свет от источника, и на выходе датчика появляется положительный импульс, загорается встроенный светодиод. В противном случае, если препятствия нет, то датчик молчит. Есть и третий вариант, когда препятствие есть, но свет от него не отражается! Получается, матовую черную поверхность робот не увидит.
Этот датчик не измеряет расстояние до препятствия, а лишь информирует о его наличии.
Технические характеристики
- Модель: YL-63(или FC-51)
- напряжение питания: 3.3–5 В
- тип датчика: диффузионный
- компаратор: LM393
- расстояние обнаружения препятствий: 2 – 30 см
- эффективный угол обнаружения препятствий: 35°
- потенциометр для изменения чувствительности
- светодиод индикации питания
- светодиод индикации срабатывания
- размеры: 43 х 16 х 7 мм
Назначение контактов датчика
Модуль имеет 3 вывода:
- VCC или 5V - контакт положительного питания 5V
- Gnd - контакт отрицательного питания 5V
- Out - выход с датчика, при наличии препятствия 0, иначе 1
Схема подключения
К Arduino подключается датчик следующим образом:
VCC или 5V(Датчик) - 5V(плата Arduino)
Gnd(Датчик) - Gnd(плата Arduino)
Out(Датчик) - Pin7(плата Arduino)
Пример программы
Рассмотрим простую программу. Будем считывать показания с датчика и выводить их в Serial-порт. Для считывания показаний с датчика используем функцию digitalRead(datchik_pin). При отсутствии препятствия в Serial-порт выводится число 1, при наличии препятствия - 0.
int datchik_pin = 7;
void setup() {
pinMode(datchik_pin, INPUT);
Serial.begin(9600);
}
void loop() {
Serial.println(digitalRead(datchik_pin));
}