31 год мы работаем для разработчиков, изготовителей и ремонтников электроники
Практические занятия робототехника. Конструктор ROBOT BIN CLASSIC

Методы оплаты Методы оплаты
Покупайте товар со скидкой, выбирая эти формы оплаты!
Прайс-листы DESSY.RU для скачивания
Партнерская программа
Наши акции
 
Архив новостей Архив новостей
Новости Новости!
Датчик расстояния ультразвуковой US-100, 2-450см
310 c   463 c
310 c   463 c
В корзину
Работаем без НДС
В корзину
Работаем без НДС
Датчик расстояния ультразвуковой US-100, 2-450см

Датчик расстояния ультразвуковой US-100, 2-450см  Датчик расстояния ультразвуковой US-100, 2-450см  Датчик расстояния ультразвуковой US-100, 2-450см  Датчик расстояния ультразвуковой US-100, 2-450см 

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

  • Питание: 2.4 - 5.5В;
  • Рабочий ток: 3мА;
  • Рабочая частота: 40Гц;
  • Рабочая температура: -20 ... +70 °C;
  • Диапазон измеряемых расстояний: 2-450 см;
  • Эффективный угол измерений: 15 градусов;
  • Встроенный температурный датчик для коррекции результатов измерений;
  • Два режима работы GPIO и UART (скорость двоичной передачи 9600 бит/сек);
  • Что такое ультразвуковой датчик расстояния

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

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

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

    US-100 поддерживает оба способа взаимодействия. С одной стороны это позволяет использовать его в схемах и программах, предназначенных для датчиков первого типа (например, HC-SR04). С другой стороны мы можем освободить микроконтроллер от описанных выше расчётов и считывать с датчика результат измерений через последовательный интерфейс. А с учётом того, что US-100 имеет встроенную термокомпенсацию, результаты расчётов на стороне датчика будут более точными. Рассмотрим работу с US-100 на примере платы Ардуино Уно.

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

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

  • Vcc используется для подключения «плюса» источника питания;;
  • Trig (TX в режиме Serial) – для запуска измерения в режиме GPIO или выход передатчика при работе в Serial режиме;;
  • Echo (RX в режиме Serial) – для считывания результатов измерения в режиме GPIO или вход приёмника при работе в Serial режиме;;
  • Два вывода Gnd для подключения «минуса» источника питания.;
  • Выбор режима работы US-100 определяется перемычкой: когда она установлена, датчик работает в режиме Serial; когда снята – в режиме GPIO (general-purpose input/output).
    Подсоединим их к Ардуино в соответствии с приведённой схемой:

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

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

    Пример скетча для US-100 в режиме GPIO

    В режиме GPIO взаимодействие с US-100 аналогично работе с HC-SR04 и другими популярными датчиками. Алгоритм работы для режима GPIO следующий:

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

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

    // Пример скетча для ультразвукового датчика расстояния US-100 (режим GPIO)
    // https://compacttool.ru/us-100-ultrazvukovoj-datchik-rasstoyaniya
    
    const float sound_speed = 343.1; // Скорость звука в воздухе при t=20C
    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 = 450) {
      // Функция определения расстояния до объекта при помощи ультразвукового датчика US-100 (режим GPIO)
      // Возвращает -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, не дожидаясь отражения ультразвука от более дальних объектов.

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

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

    Пример скетча для US-100 в режиме Serial

    В режиме Serial US-100 принимает команды по последовательному интерфейсу и возвращает результат. Датчик поддерживает 2 команды:

  • 0x55 – команда измерения расстояния. Возвращаемое двухбайтное значение  – это расстояние в миллиметрах;;
  • 0x50 – команда измерения температуры. Результат выполнения команды – однобайтное значение, из которого необходимо вычесть 45, чтобы получить температуру в градусах Цельсия.;
  • Кроме того, в режиме Serial задействуется термокомпенсация, что обеспечивает высокую точность показаний US-100 во всем диапазоне рабочих температур.

    Для переключения US-100 в режим Serial необходимо перед подачей питания  установить перемычку на плате датчика. Пример скетча приведён ниже.

    // Пример скетча для ультразвукового датчика расстояния US-100 (режим Serial)
    // https://compacttool.ru/us-100-ultrazvukovoj-datchik-rasstoyaniya
    
    #include "SoftwareSerial.h"
    
    const byte pinRX = 2; // = Echo
    const byte pinTX = 3; // = Trig
    
    SoftwareSerial US100(pinRX, pinTX);
    
    unsigned int d;
    int t;
    
    void setup() {
      Serial.begin(9600);
      US100.begin(9600);
    }
    
    void loop() {
      // Измеряем расстояние:
      US100.write(0x55); // Подаём команду измерения расстояния
      while(US100.available() < 2); // Ожидаем готовности данных
      d = US100.read(); // Считываем старший байт
      d = (d << 8) + US100.read(); // Считываем мдадший байт
      Serial.print("Dist: "); // Выводим результат в Serial
      Serial.print(d, DEC);
      Serial.println(" mm");
    
      // Измеряем температуру:
      US100.write(0x50); // Подаём команду измерения температуры
      while(US100.available() < 1); // Ожидаем готовности данных
      t = US100.read(); // Считываем байт
      Serial.print("Temp: "); // Выводим результат в Serial
      Serial.print(t - 45);
      Serial.println("C");  
      delay(1000);
    }

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

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


    ------------------
    СЕЕД11188:310
    Добавить отзыв
     Написание отзыва требует предварительной регистрации на сайте.
    Вы можете купить Датчик расстояния ультразвуковой US-100, 2-450см как за наличный расчёт, так и по безналичному расчёту ( т.н. безналу, перечислению). Для этого Вам надо либо оформить заказ на нашем сайте, указав в примечании реквизиты, либо прислать письмо с точным указанием кода CTTL11188 на Датчик расстояния ультразвуковой US-100, 2-450см, желаемого количества и реквизитов Вашей организации. Счета по безналичному расчёту выписываются на основании вашего письменного запроса и от суммы 500 рублей.
    Доставка может производиться различными по Вашему выбору способами. Это и самовывоз, и курьерские службы по г. Москве, и транспортные компании по России. Также мы можем выслать этот товар Почтой России. Если размеры, вес товара Датчик расстояния ультразвуковой US-100, 2-450см или соображения удароустойчивости находятся в разрешённых Почтой России пределах.