Главная » 2015 » Август » 12 » Датчик измерения расстояния SHARP-GP2Y0A02YK0F
22:36
Датчик измерения расстояния SHARP-GP2Y0A02YK0F

Датчики измерения расстояния SHARP — доступные, эффективные и простые в использовании сенсоры, позволяющие определять расстояние до объекта или препятствия.
Эти сенсоры очень часто применяются в робототехнике

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


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

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

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

 

Особенности


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

Блок схема сенсора

 

Документация на SHARP — GP2Y0A02YK0F

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

 

 

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

 

 

 

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

 

 

 


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

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 расстояние (cm) = 306.439 + напряжение * (-512.611 + напряжение* (382.268 + напряжение* (-129.893 + напряжение * 16.2537 )))


Пример кода

//
// SHARP IR sensor testing
//

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


void setup() {
  // старт последовательного порта
  Serial.begin(9600);
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

void loop() {
  //
  // 5V/1024 = 0.0048828125
  // считываем значение сенсора и переводим в напряжение
  float voltage = analogRead(IRpin) * 0.0048828125;
  // Расчитываем дистанцию
  //range (cm) = 306.439 + voltage * (-512.611 + voltage * (382.268 + voltage * (-129.893 + voltage * 16.2537)))
  float distance = 306.439 + voltage * (-512.611 + voltage * (382.268 + voltage * (-129.893 + voltage * 16.2537)));
  // выдаём в порт
  Serial.println (distance);
  // ждём
  delay(500);

 


  if (distance > 50)
  {
    // Если дистанция больше указанного значения то светодиод выключен
    digitalWrite(13, LOW);    
  } else
  {
    // Если дистанция меньше указанного значения то светодиод включен
    digitalWrite(13, HIGH);   
  }

}

 

Готовый скетч

 

Категория: Электроника | Просмотров: 504 | Добавил: graftsv | Теги: Датчик измерения расстояния, SHARP-GP2Y0A02YK0F
Всего комментариев: 0
avatar