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



Рассмотрим ещё один вариант ИК-датчика измерения расстояния SHARP — GP2Y0A02YK0F.
Именно такой сенсор часто и удобно применяется в робототехнике (например, в «Poor Man’s Lidar» — PML — «лазерном дальномере бедных»)

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

Работает сенсор по тому же принципу триангуляции, как и похожие сенсоры SHARP (см.
Датчик измерения расстояния SHARP-GP2Y0A02YK0F)

Сенсор SHARP-GP2Y0A02YK0F

Размеры

Особенности

1. Диапазон измерения расстояния: от 20 до 150 см
2. Аналоговый выход
3. Размеры: 29.5x13x21.6 мм
4. Потребление тока: 33 мА
5. Напряжение питания: от 4.5 до 5.5 В

* В целях стабилизации линии питания, рекомендуется, между Vcc и GND сенсора установить конденсатор 10 uF или более.

Применение

1. Безконтактный переключатель (сантехника, управление освещением и т.п.)
2. Датчик экономии энергии (ATM, копиры, вендинговые машины, ноутбуки, LCD-мониторы)
3. Развлекательное оборудование (роботы, аркадные игровые автоматы)

Подключается сенсор при помощи 3-пинового разъёма:
Vo, GND, Vcc

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

Сенсор имеет нелинейный выход: при линейном увеличении расстояния, сигнал на аналоговом выходе увеличивается/уменьшается нелинейно:

Излом в начале графика, объясняется неспособностью дальномера обнаруживать объекты на близком расстоянии.

SHARP и Arduino

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

тестовый скетч для 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;   // считываем значение сенсора и переводим в напряжение
  float distance = 65*pow(volts, -1.10);          // worked out from graph 65 = theretical distance / (1/Volts)S - luckylarry.co.uk
  Serial.println(distance);                       // выдаём в порт
  delay(100);                                     // ждём
}

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

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

Ссылки
SHARP — GP2Y0A02YK0F — SENSOR, DISTANCE, ANALOGUE O/P
Arduino – Using a Sharp IR Sensor for Distance Calculation

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


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

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
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение