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

Методы оплаты Методы оплаты
Покупайте товар со скидкой, выбирая эти формы оплаты!
Прайс-листы DESSY.RU для скачивания
Партнерская программа
Наши акции
 
Архив новостей Архив новостей
Новости Новости!


Распечатать

Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino

Код товара: CTTL12137
Бренд: DIY
Есть в наличии Есть в наличии
Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino
110 c   250 c
110 c   250 c
В корзину
Работаем без НДС
В корзину
Работаем без НДС
Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino

Обратите внимание на близкий
по назначению товар:


Модуль RA050. ИК датчик препятствий E18-D50NK

Модуль RA050. ИК датчик препятствий E18-D50NK

RBT004. Держатель для ультразвукового датчика HC-SR04

RBT004. Держатель для ультразвукового датчика HC-SR04

Модуль RI0160. APDS-9930. Датчик расстояния и освещённости

Модуль RI0160. APDS-9930. Датчик расстояния и освещённости
Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino  Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino  Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino  Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino 

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

  • Питание: 5В постоянного тока DC;
  • Потребляемый ток: 6мА;
  • Угол зрения: 15°;
  • Измерение расстояния: от 2см до 400см;
  • Точность: ±2мм;
  • Размер: 50 x 30 x 20мм;
  • Что такое ультразвуковой датчик расстояния

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

    HC-SR04 ультразвуковой датчик расстояния Фото 5

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

    Подключение HC-SR04 к Ардуино

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

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

    HC-SR04 схема подключения к Ардуино

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

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

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

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

    Данный скетч реализует описанный алгоритм:

    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 = 300) {
      // Функция определения расстояния до объекта при помощи ультразвукового датчика HC-SR04
      // Возвращает -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, не дожидаясь отражения ультразвука от более дальних объектов.

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

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

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

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

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

     


    ------------------
    СЕЕД12137:110
    Вы можете купить Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino как за наличный расчёт, так и по безналичному расчёту ( т.н. безналу, перечислению). Для этого Вам надо либо оформить заказ на нашем сайте, указав в примечании реквизиты, либо прислать письмо с точным указанием кода CTTL12137 на Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino, желаемого количества и реквизитов Вашей организации. Счета по безналичному расчёту выписываются на основании вашего письменного запроса и от суммы 500 рублей.
    Доставка может производиться различными по Вашему выбору способами. Это и самовывоз, и курьерские службы по г. Москве, и транспортные компании по России. Также мы можем выслать этот товар Почтой России. Если размеры, вес товара Модуль RA011. Ультразвуковой датчик HC-SR04. Совместим с Arduino или соображения удароустойчивости находятся в разрешённых Почтой России пределах.