Arduino дальномер инфракрасный: Инфракрасный датчик расстояния: описание, подключение, схема, характеристики

Содержание

Инфракрасный дальномер GP2Y0A02YK0F | 2 Схемы

Самым распространенным датчиком для измерения расстояния в диапазоне от десятков сантиметров до единиц метров для Arduino проектов является ультразвуковой локатор HC-SR04. Однако, этот вариант не является единственным. Альтернативой ультразвуковому локатору может служить инфракрасный дальномер SHARP GP2Y0A02YK0F. Данный локатор может измерять расстояние в диапазоне от 20 до 150 см. В частности примеры работы с подобными устройствами можно найти в классической книге [1] или в [2-3]. Данное устройство приобретено на aliexpress.ru всего за 4 доллара.

Датчик поставляется в антистатическом пакете

Датчик имеет пластмассовый корпус с габаритами 45 х 22 х 18 мм, масса 5 г без кабеля.

На корпусе имеются два крепежных отверстия, диаметром 3 мм с межцентровым расстоянием 37 мм.

Вместе с датчиком поставляют соединительный кабель длиной 190 мм.

  • В кабеле красный провод – питание 5 В,
  • черный – общий,
  • желтый – сигнальный.

Ток, потребляемый устройством 33 мА [4-5], согласно измерениям автора обзора, ток потребления составил 26 мА.

Дальномер имеет нелинейную зависимость между измеренным расстоянием и напряжением на информационном выходе. График зависимости напряжения на информационном выходе (желтый провод) от расстояния, согласно данным производителя.

Как видно, напряжение питания и диапазон изменения напряжения на информационном выходе позволяют без проблем подключить данное устройство к Arduino. Для работы с этим дальномером энтузиастами уже написаны демонстрационные программы, например [4]. Данная программа рассчитывает расстояние до препятствия в сантиметрах и передает результаты расчета по последовательному порту.

В целом первое впечатление о данном датчике положительное, в рамках заявленного диапазона расстояний датчик работает, на яркие источники света (светодиодная лампа) аномальной реакции замечено не было. К недостаткам, по сравнению с ультразвуковым локатором HC-SR04, можно отнести более высокую стоимость и меньшую дальность. Так что если радиолюбителя по какой-то причине не устраивает ультразвуковой дальномер вроде HC-SR04, то датчик SHARP GP2Y0A02YK0F может стать альтернативой.

Литература и ссылки

  1. Блум Д. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. — СПб.: БХВ-Петербург, 2015. — 336 с.
  2. robocraft.ru/blog/electronics/748.html
  3. mysku.ru/blog/aliexpress/29357.html
  4. robocraft.ru/blog/electronics/783.html
  5. zelectro.cc/SHARP_GP2Y0A02YK0F

Прошивку и даташит на датчик скачайте в архиве. Специально для сайта 2Схемы — Denev.

Подключаем HC-SR04 к Arduino. | LinuxBlog.РФ

Работа модуля HC-SR04 основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, не сложно вычислить расстояние до препятствия.

 

Характеристики:
  • Напряжение питания: 5 В.
  • Потребление в режиме тишины: 2 мА.
  • Потребление при работе: 15 мА.
  • Диапазон расстояний: 2–400 см.
  • Эффективный угол наблюдения: 15°.
  • Рабочий угол наблюдения: 30°.
Выходы:
  • VCC – питание.
  • GND – общий провод.
  • Trig – цифровой вход для включения измерения.
  • Echo – после завершения измерения, на этот выход будет подана логическая единица на
    время, пропорциональное расстоянию до объекта.
Принцип работы:

На вход Trig датчика подаем импульс высокого уровня длительностью 10–15
микросекунд(μs). Датчик отправляет ультразвуковой сигнал «chirp» из восьми коротких
импульсов частотой выше предела диапазон слуха человека 40 кГц. Электроника датчика знает
скорость звука в воздухе. Измеряя время между отправленным и принятым ультразвуком,

ультразвуковой датчик HC-SR04 формирует выходной сигнал. Спустя примерно микросекунду ультразвуковой датчик HC-SR04 выдает на выходе Echo импульс высокого уровня длительностью до 38 миллисекунд(ms). Если препятствий не обнаружено, то на выходе будет сигнал с
длительностью 38 мс. Длина импульса на выходе Echo пропорциональна расстоянию до препятствия.
Расстояние вычисляется по формуле: S=F/58, где
S – расстояние в сантиметрах,
F – продолжительность импульса в микросекундах.

Следующее измерение рекомендуется выполнять не ранее чем через 50 мс.

Поскольку в основе работы устройства используется звук, сонар плохо подходит для определения расстояния до звукопоглощающих объектов таких как мебель с высоким ворсом или персидских котов. Для определения расстояний в таком окружении подойдёт инфракрасный дальномер.

Код:
// Укажем, что к каким пинам подключено
int trigPin = 10; 
int echoPin = 11;  
 
void setup() { 
  Serial.begin (9600); 
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT); 
}
void loop()
 { 
int duration, distance; // для большей точности установим значение LOW на пине Trig 
digitalWrite(trigPin, LOW); 
delayMicroseconds(2); // Теперь установим высокий уровень на пине Trig 
digitalWrite(trigPin, HIGH); // Подождем 10 μs  
delayMicroseconds(10); 
digitalWrite(trigPin, LOW); // Узнаем длительность высокого сигнала на пине Echo 
duration = pulseIn(echoPin, HIGH); // Рассчитаем расстояние 
distance = duration / 58; 
// Выведем значение в Serial Monitor 
Serial.print(distance); 
Serial.println(" cm"); 
delay(100); 
}

Функция pulseIn() считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (тайм аута) не был зафиксирован сигнал на порту.

Это очень простой по принципу работы сенсор. Его легко подключается, простота в работе. Но есть и другие сенсоры с разными интерфейсами подключения , более умны и т.д. Например URM37.

 

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подключаем ультразвуковой дальномер HC-SR04 к Arduino. » BlogLinux.ru

Работа модуля HC-SR04 основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, не сложно вычислить расстояние до препятствия.



Характеристики:

Напряжение питания: 5 В.
Потребление в режиме тишины: 2 мА.
Потребление при работе: 15 мА.
Диапазон расстояний: 2–400 см.
Эффективный угол наблюдения: 15°.
Рабочий угол наблюдения: 30°.
Выходы:

VCC – питание.
GND – общий провод.
Trig – цифровой вход для включения измерения.
Echo – после завершения измерения, на этот выход будет подана логическая единица на

время, пропорциональное расстоянию до объекта.

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

На вход Trig датчика подаем импульс высокого уровня длительностью 10–15

микросекунд(μs). Датчик отправляет ультразвуковой сигнал «chirp» из восьми коротких

импульсов частотой выше предела диапазон слуха человека 40 кГц. Электроника датчика знает

скорость звука в воздухе. Измеряя время между отправленным и принятым ультразвуком,

ультразвуковой датчик HC-SR04 формирует выходной сигнал. Спустя примерно микросекунду ультразвуковой датчик HC-SR04 выдает на выходе Echo импульс высокого уровня длительностью до 38 миллисекунд(ms). Если препятствий не обнаружено, то на выходе будет сигнал с

длительностью 38 мс. Длина импульса на выходе Echo пропорциональна расстоянию до препятствия.

Расстояние вычисляется по формуле: S=F/58, где

S – расстояние в сантиметрах,

F – продолжительность импульса в микросекундах.

Следующее измерение рекомендуется выполнять не ранее чем через 50 мс.

Поскольку в основе работы устройства используется звук, сонар плохо подходит для определения расстояния до звукопоглощающих объектов таких как мебель с высоким ворсом или персидских котов. Для определения расстояний в таком окружении подойдёт инфракрасный дальномер.


Код:
// Укажем, что к каким пинам подключено
int trigPin = 10;
int echoPin = 11;
 
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
int duration, distance; // для большей точности установим значение LOW на пине Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2); // Теперь установим высокий уровень на пине Trig
digitalWrite(trigPin, HIGH); // Подождем 10 μs
delayMicroseconds(10);
digitalWrite(trigPin, LOW); // Узнаем длительность высокого сигнала на пине Echo
duration = pulseIn(echoPin, HIGH); // Рассчитаем расстояние
distance = duration / 58;
// Выведем значение в Serial Monitor
Serial.print(distance);
Serial.println(" cm");
delay(100);
}


Функция pulseIn() считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция 

pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (тайм аута) не был зафиксирован сигнал на порту.

Это очень простой по принципу работы сенсор. Его легко подключается, простота в работе. Но есть и другие сенсоры с разными интерфейсами подключения , более умны и т.д. Например URM37.




Ультразвуковой дальномер · Clover

Ультразвуковой дальномер («сонар») — это датчик расстояния, принцип действия которого основан на измерении времени распространения звуковой волны (с частотой около 40 кГц) до препятствия и обратно. Сонар может измерять расстояние до 1,5–3 м с точностью до нескольких сантиметров.