ESPsmart » Блог » Подключение ультразвукового датчика расстояния HC-SR04 к ESP8266

Подключение ультразвукового датчика расстояния HC-SR04 к ESP8266

Что такое ультразвук?

Ультразвук - это звуковые волны, распространяющиеся в диапазоне выше 20 кГц, которые не слышит человек. Ультразвук не распространяется в вакууме. ему нужна среда, обладающая упругостью: жидкость, газ или твердое тело. У звуковой волны есть такие параметры, как длина волны, частота (число циклов, которые происходят за секунду), скорость, форма колебаний.

Виды звуковых волн

В зависимости от типа и направления колебаний звуковые волны разделяют:
Продольные. Они направлены и смещаются подобно частицам среды.
Поперечные. Эти волны распространяются в твердых телах перпендикулярно по отношению к направленности колебаний среды.
Поверхностные, или Рэлеевские. Они распространяются по поверхности материала. Траектория их движения описывает эллипс. Когда такие волны углубляются в материал, их колебания постепенно уменьшаются и затухают. Они способны проникнуть внутрь на одну длину волны.
Волна Лэмба. В ее составе есть два типа волн: бегущие и стоячие. Она способна изгибаться и распространяется в тонких слоях стержня или пластины со свободными границами, где частицы смещаются и перпендикулярно плоскости пластины, и в направлении распространения волны.

Подключение ультразвукового датчика расстояния HC-SR04 к ESP8266

Датчик HC SR04

Датчик HC-SR04 является ультразвуковым дальномером. Датчик измеряет расстояние до объекта, если его удаленность составляет от 0 до 400 см, а его эффективный угол составляет 15°.

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

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

Внимание! Такой датчик нельзя применять для определения расстояния до объектов, поглощающих звук.

Подключение датчика HC-SR04

Подключаем датчик согласно схеме ниже. Для этого подсоединяем питание 5V и GND, ногу Trig к D7, а ногу Echo к D6.




Скетч

#define PIN_TRIG 13 // ПИН D7
#define PIN_ECHO 12 // ПИН D6
long duration, cm;
void setup() {
  Serial.begin (115200); // Устанавливаем сокорость соединения с последовательным портом
  pinMode(PIN_TRIG, OUTPUT); // Определяем вывод

}
void loop() {
  // Создаем короткий импульс длительностью 5 микросекунд.
  digitalWrite(PIN_TRIG, LOW);
  delayMicroseconds(5);
  digitalWrite(PIN_TRIG, HIGH);
  // Установим высокий уровень сигнала
  delayMicroseconds(10);
  digitalWrite(PIN_TRIG, LOW);
  //  Определяем задержку сигнала
  duration = pulseIn(PIN_ECHO, HIGH);
  // Преобразуем время задержки в расстояние
  cm = (duration / 2) / 29.1;
  Serial.print("Расстояние до объекта: ");
  Serial.print(cm);
  Serial.println(" см.");
  // Задержка между измерениями
  delay(250);
}

Монитор порта (консоль)

Загружаем скетч и открываем "Монитор порта".

Комментарии

kur
от 12 ноября 2019 09:50
Интересно какая у него погрешность?
от 12 ноября 2019 14:11
В реальных условиях от 1 до 3-5 см.

Оставить комментарий

  • Кликните на изображение чтобы обновить код, если он неразборчив