Снова возвращаемся к «проблеме» технического зрения — пытаемся оценить расстояние до препятствия(предмета). В предыдущей статье для этого пользовались «мышиным» (ультразвук) методом. Здесь рассмотрим инфракрасный дальномер.
Инфракрасный датчик (Infra-Red, IR, ИК-датчик) является одним из основных датчиков в робототехнике. Этот оптический датчик, основанный на методе триангуляции, служит для измерения расстояния и обнаружения препятствий, используя функцию инфракрасного света.
Т.е. мы не будем определять время прохождения отраженного света (как было со звуком) 🙂 А замерим угол между лучом, посланным в сторону препятствия и его отражением. Зная расстояние между излучателем и приемником по школьным тригонометрическим формулам можно определить расстояние до «зеркала». Или иначе (собственно так и делают): угол — фиксирован и известен, а расстояние между излучателем и принятым отражением — измеряем…
Инфракрасный дальномер позволяет определять расстояние до объектов. Это модель GP2D120 компании Sharp. Сенсор определяет расстояние по отражённому лучу света в инфракрасном спектре. Дальномер может использоваться для объезда препятствий и ориентирования на местности.
Датчик обладает низким энергопотреблением, что также является немаловажным преимуществом в случае с мобильными роботами, не привязанными к розетке. Питается датчик от 5 В, что тоже удобно при подключении его к Arduino.
Он оснащен ИК-излучателем и ИК-приемником: первый служит источником луча, отражение которого ловит второй. При этом ИК-лучи датчика для человеческого глаза невидимы (хотя можно различить красное мерцание, если посмотреть в датчик) и при такой интенсивности безвредны.
Выводом является аналоговый сигнал, с уровнем напряжения, зависимым от расстояния до цели в установленном направлении.
Датчик подключается 3 проводами.
Характеристики
Напряжение питания: 4,5–5,5 В
Потребляемый ток: 30–40 мА
Диапазон расстояний: 10–80 см
Ограничения: Поскольку в основе работы устройства используется свет, сенсор плохо подходит для определения расстояния до светопоглощающих объектов. Инфракрасный дальномер имеет мёртвую зону перед собой – до 10 см.
Выход датчика расстояния Sharp обратно пропорциональный — с увеличением расстояния его значение медленно уменьшается. Датчики, в зависимости от их типа, имеют границы измерения, в пределах которых их выход может быть признан надежным. Измерение максимального реального расстояния ограничивают два фактора: уменьшение интенсивности отраженного света и невозможность приемника регистрировать незначительные изменения местоположения отображенного луча.
Принцип работы инфракрасного датчика
В датчиках Sharp установлен инфракрасный (IR) светодиод (LED) с линзой, который излучает узкий световой луч. Отраженный от объекта луч направляется через другую линзу на позиционно-чувствительный фотоэлемент (Position-Sensitive Detector, PSD). На схеме видно как отраженный от более близкого препятствия Р1 луч попадает в «более дальнюю» точку приемника PSD U1.
От местоположения падающего на PSD луча зависит его проводимость. Проводимость преобразуется в напряжение и, к примеру, оцифровывая его аналого-цифровым преобразователем микроконтроллера, можно вычислить расстояние.
Пример подключения к Arduino
Выход датчика подключен к аналоговому входу A1 АЦП платы Arduino. Питание — обычное +5В.
int x; void setup() { Serial.begin(9600); } void loop() { x = analogRead(A1); Serial.println(x); delay(500); }
Скетч с интервалом в полсекунды выводит показания датчика. В данном случае они никак не переводятся в общепринятые меры длины — можно лишь оценить состояние объекта (ближе/дальше; приближаемся/удаляемся).
В следующей статье попробуем перевести полученные данные в удобочитаемый вид.
По материалам курса робототехники