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

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


Распечатать

Модуль 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 или соображения удароустойчивости находятся в разрешённых Почтой России пределах.