Каталог

US-026 ультразвуковой датчик расстояния

Цена:

120 р.
ожидается
Уже в корзине
Код товара: 11163
Оригинальное название:
Ultrasonic 6m Distance Sensor US-026

Описание товара

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

  • Рабочее напряжение: от 3 до 5,5 В
  • Рабочий ток: 5,3 мА
  • Диапазон измерений: от 2 до 600 см
  • Точность измерения: 0.2 см
  • Угол измерения: 15 град.
  • Рабочая температура: -40 - 85 ℃
  • Размеры: 45 x 20 x 12 мм

Что такое ультразвуковой датчик расстояния

Ультразвуковой датчик расстояния – это устройство, которое позволяет определять расстояние до объекта при помощи высокочастотных звуковых колебаний (ультразвука). Входящий в состав датчика ультразвуковой излучатель генерирует ультразвуковую волну, которая распространяется в воздухе со скоростью звука. Отражаясь от объектов, волна возвращается к датчику в виде эхо. Отсюда происходит название такого способа измерения расстояний – эхолокация. Датчик принимает отражённый ультразвуковой сигнал и фиксирует время, за которое он вернулся. После этого несложно определить пройденное ультразвуком расстояние, поскольку его скорость известна.

Ультразвуковой датчик расстояния. Принцип работы

Большинство ультразвуковых датчиков расстояний не вычисляют расстояние до объекта самостоятельно. Вместо этого они предоставляют информацию о времени, за которое ультразвук вернулся обратно к датчику. Дальнейшие расчёты для определения расстояния выполняются программно, на стороне микроконтроллера. Но есть и такие датчики, которые сами выполняют необходимые вычисления и предоставляют на выходе уже готовый результат.

Ультразвуковой датчик расстояния US-026 позиционируется как улучшенная версия популярного датчика HC-SR04. Он построен на базе эффективной микросхемы CS100 и предлагает бОльшую точность измерений и рабочий диапазон до 6 метров. При этом датчик US-026 полностью совместим с HC-SR04, и может использоваться вместо него без необходимости внесения изменений в программу или схему подключения. Схема ультразвукового датчика расстояния US-026 представлена ниже.

Схема ультразвукового датчика US-026

По этой же схеме выполнен ультразвуковой датчик расстояний US-025. Он полностью идентичен US-026, и единственное их отличие состоит в том, что US-026 выполнен на односторонней печатной плате, тогда как US-025 на двусторонней.

US-026 относится к датчикам, которые на выходе предоставляют информацию о времени распространения ультразвуковой волны. Вычисление расстояния до объекта выполняется программно. Рассмотрим алгоритм работы с US-026 на примере платы Ардуино Уно.

Подключение US-026 к Ардуино

Ультразвуковой датчик расстояния US-026 имеет 4 вывода:

  • Vcc используется для подключения «плюса» источника питания;
  • Trig – для запуска измерения;
  • Echo – для считывания результатов измерения;
  • Gnd – подключения «минуса» источника питания.

Подсоединим их к Ардуино в соответствии с приведённой схемой:

Схема подключения US-026 к Ардуино

Для подключения US-026 к Ардуино вы можете использовать любые другие выводы, внеся соответствующие изменения в скетч.

Алгоритм работы и пример скетча

Алгоритм работы с US-026 состоит из следующих шагов:

  1. На вход Trig подаём сигнал высокого уровня длительностью 10 мкс.
  2. Получив импульс на входе Trig, датчик генерирует серию из 8 ультразвуковых колебаний и устанавливает высокий уровень на выводе Echo.
  3. При получении отражённой ультразвуковой волны датчик изменяет уровень сигнала на выводе Echo на низкий. Таким образом, длительность получившегося импульса будет соответствовать времени распространения ультразвука до объекта и обратно.
  4. Ардуино измеряет  длительность импульса на выводе Echo и определяет по нему расстояние до объекта.

Следующий скетч реализует описанный алгоритм:

 // Скорость звука в воздухе при t=20C
const float sound_speed = 343.1; 

// Коэффициент преобразования скорости звука из "м/с" в "см/мкс"
// Грубый расчет по формуле 343 м/с = 0.0343 см/мкс (343.1*100/1000000) = 1/29.1 см/мкс, т.е. 29.1см за 1 мкс
// Результат умножается на 2, так как сигнал движется в обе стороны, от сонара до препятствия,
// и от препятствия до сонара. Итоговое значение коэффициента равно 58.2 см/мкс
const float k = (20000 / sound_speed); 

const byte pinEcho = 2;
const byte pinTrig = 3;

void setup() {
  Serial.begin(9600);
  pinMode(pinTrig, OUTPUT);
  pinMode(pinEcho, INPUT);
}

int getDistance(int maxDistance = 600) {
  // Функция определения расстояния до объекта при помощи ультразвукового датчика US-026
  // Возвращает -1, если превышен таймаут ожидания эхо
  // Необязательный параметр maxDistance задаёт максимальное измеряемое расстояние в сантиметрах
  unsigned long timeout = maxDistance * k;
  unsigned long previousMicros;
  unsigned int t;
  // Формируем импульс на входе Trig длительностью 10мкс
  digitalWrite(pinTrig, LOW);
  delayMicroseconds(2);
  digitalWrite(pinTrig, HIGH);
  delayMicroseconds(10);
  digitalWrite(pinTrig, LOW);

  // Дожидаемся HIGH на выводе Echo
  previousMicros = micros();
  while(!digitalRead(pinEcho)){
     if (micros() - previousMicros > 10000) return -1;
  }
  
  // Измеряем длительность ответного импульса на выводе Echo
  previousMicros = micros();
  while(digitalRead(pinEcho)){
    if (micros() - previousMicros > timeout) return -1;
  }
  t = micros() - previousMicros;
  
  return (t / k);
}

void loop() {
  // Измеряем расстояние
  int d = getDistance();

  // Выводим результат в Serial
  Serial.print(d);
  Serial.println(" cm");
  delay(1000);
}

Взаимодействие с датчиком и вычисление расстояния до объекта оформлено в виде отдельной функции getDistance. Её необязательный параметр позволяет задать максимальное измеряемое расстояние. Если, например, нас интересует расстояние до препятствий в пределах метра, то функцию можно вызвать  с параметром 100:

int d = getDistance(100);

Если на указанном расстоянии не будет встречено препятствий, то функция вернёт значение -1, не дожидаясь отражения ультразвука от более дальних объектов.

Загрузите скетч в Ардуино и откройте монитор порта, чтобы увидеть результат его работы.

Библиотеки для работы с US-026 в среде Ардуино

Приведённый выше пример кода удобен в использовании и легко переносится в любой скетч. Но если вы привыкли работать через библиотеки, то для ультразвуковых датчиков расстояний их существует немалое количество. Среди них наиболее популярны, пожалуй, Ultrasonic (автор Erick Simões) и NewPing. Первая содержит единственную функцию для измерения расстояния и совсем проста в использовании, тогда как вторая отличается расширенным функционалом и оптимизированным кодом. Обе они подходят для датчика US-026 и доступны для установки через менеджер библиотек IDE Arduino.

Особенности применения ультразвуковых датчиков расстояний

Ультразвуковые датчики расстояний успешно применяются для решения многих задач. Их используют для измерения расстояний, в качестве датчиков присутствия, позиции, уровня жидкости или сыпучих веществ. В отличие от инфракрасных датчиков расстояний их нормальной работе не мешают дым, пыль и солнечный свет. Они нечувствительны к цвету объекта или его материалу. Исключение составляют мягкие предметы, поглощающие звук вместо того, чтобы отражать его. 

Ассортиментная матрица ультразвуковых датчиков расстояния

HC-SR04

US-015

IOE-SR05

US-026

US-100

HY-SRF05

RCWL-1601

US-020

 

Похожие позиции

790 р.
Арт. 14715
Уже в корзине
менее 20 шт.
11880 р.
Арт. 11905
Уже в корзине
менее 10 шт.
83880 р.
Арт. 15357
Уже в корзине
менее 10 шт.
34080 р.
Арт. 11906
Уже в корзине
ожидается
30080 р.
Арт. 14578
Уже в корзине
менее 10 шт.
100 р.
Арт. 10930
Уже в корзине
менее 50 шт.
footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru