Датчик препятствия

Материал из MIK32 микроконтроллер
Внешний вид ИК датчика препятствий YL-63

Каждый робот, который ездит, летает или плавает, должен распознавать препятствия, находящиеся у него на пути. Чтобы робот смог это сделать, ему необходимы соответствующие датчики. Одним из таких датчиков является инфракрасный датчик препятствия.

Цифровой инфракрасный датчик обхода препятствий YL-63 (или FC-51) - один из самых распространенных датчиков. Он применяется тогда, когда нужно определить наличие объекта, а точное расстояние до объекта знать необязательно.

Описание и принцип работы датчика

Refl .png Датчик работает довольно просто. На нем имеются направленный источник света и детектор света. Источником часто служит инфракрасный светодиод с линзой, а детектором — фотодиод или фототранзистор.

Датчик обнаруживает препятствия в диапазоне расстояний от нуля до установленной предельной границы. Он построен на основе компаратора 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

Схема подключения

Подключение датчика YL-63 к Arduino

К 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));

}