Датчик измерения расстояния SHARP-GP2Y0A710K0F



Датчики измерения расстояния SHARP — доступные, эффективные и простые в использовании сенсоры, позволяющие определять расстояние до объекта или препятствия.
Эти сенсоры очень часто применяются в робототехнике (вспомним последний пример — «Poor Man’s Lidar» — PML — «лазерный дальномер бедных»)

Принцип работы

Расстояние до объекта сенсоры определяют при помощи триангуляции.
Импульс света (в ИК диапазоне: длина волны 850нм +/- 70нм), излучается и отражается обратно от препятствия (или не отражается). Угол падения возвращаемого светового луча зависит от расстояния до отражающего объекта.
Триангуляция работает путём обнаружения этого отражённого луча и определения угла отражения, из которого уже может быть определено расстояние.

Датчик имеет специальный ИК-объектив, который принимает отражённый ИК-луч на специальную ПЗС-матрицу (CCD array). На основе данных ПЗС-матрицы, определяется угол отражения, который затем используется для рассчёта дальности.
Соответствующее значение дальности подаётся на аналоговый выход сенсора, которое может быть считано нашим микроконтроллером.

Для избавления от возможных помех, сенсоры SHARP излучают ИК-сигнал с модулированной частотой. Это позволяет практически полностью застраховаться от помех от окружающего света.
Кроме того, датчики показывают почти полное безразличие к цвету объекта обнаружения (датчик способен обнаруживать чёрные стены при солнечном свете).

Рассмотрим сенсор SHARP на примере сенсора SHARP-GP2Y0A710K0F.

Это сенсор весьма внушительных размеров:

Особенности

1. Большой диапазон определения расстояния
Диапазон измерения расстояния: от 100 до 550 см
2. Аналоговый выход
3. Размеры: 58×17.6×22.5 мм
4. Потребление тока: 30 мА
5. Напряжение питания: от 4.5 до 5.5 В

* В целях стабилизации линии питания, рекомендуется, между Vcc и GND сенсора установить конденсатор 10 uF или более.
* Так же, для питания сенсора рекомендуется использовать источник питания, который может выдавать 350 мА или больше, так как сенсор потребляет около 330 мA (пиковый ток для светодиодов при зондировании).

Применение

1. Проекторы (для автоматической фокусировки)
2. Роботы-пылесосы
3. Автоматические выключатели (освещения и т.п.)
4. Детекторы тела человека
5. Развлекательное оборудование (роботы, аркадные игровые автоматы)

Подключается сенсор при помощи 5-пинового разъёма
B5B-ZR — прямая Dip-вилка с шагом 1.5мм (под DMC03-SC200)

Аналоговый сигнал снимается, соответственно с пина Vo.

SHARP имеет нелинейный выход: при линейном увеличении расстояния, сигнал на аналоговом выходе увеличивается/уменьшается нелинейно.
График ниже, типичен для ИК-дальномеров SHARP.

Обратите внимание на излом в начале графика. Он объясняется тем, что дальномер не способен обнаруживать объекты малых расстояниях (соответственно — у разных типов датчиков — разное минимальное (и максимальное) расстояния).

SHARP и Arduino

Работать с сенсорами SHARP очень просто — достаточно подключить к нему питание и завести вывод Vo на аналоговый вход Arduino.

Значение, получаемой от функции analogRead представляет собой целое число от 0 до 1023, т.о. чтобы узнать напряжение на выходе сенсора, необходимо значение на аналоговом входе ардуино домножить на 0.0048828125.

5V/1024 = 0.0048828125

тестовый скетч для Arduino:

//
// SHARP IR sensor testing
//

int IRpin = 0;                                    // аналоговый пин для подключения выхода Vo сенсора

void setup() {
  Serial.begin(9600);                             // старт последовательного порта
}

void loop() {

  // 5V/1024 = 0.0048828125
  float volts = analogRead(IRpin)*0.0048828125;   // считываем значение сенсора и переводим в напряжение
  Serial.println(volts);                       // выдаём в порт
  delay(100);                                     // ждём
}

документация на SHARP-GP2Y0A710K0F (PDF)

далее: Датчик измерения расстояния SHARP-GP2Y0A710K0F — рассчёт расстояния

Оборудование предоставлено компанией Farnell, за что ей (и лично Ryan Gibson) большое спасибо!

Ссылки
SHARP — GP2Y0A710K0F — DISTANCE MEASURING SENSOR
SENSORS — SHARP IR RANGE FINDER
Sharp IR Rangers Information
Arduino – Using a Sharp IR Sensor for Distance Calculation

По теме
Программирование Arduino — аналоговый ввод/вывод
Практическое программирование Arduino — Аналоговый ввод – осциллограф
Датчик измерения расстояния SHARP-GP2Y0A02YK0F


0 комментариев на «“Датчик измерения расстояния SHARP-GP2Y0A710K0F”»

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение