Что такое ультразвук?
Ультразвук - это звуковые волны, распространяющиеся в диапазоне выше 20 кГц, которые не слышит человек. Ультразвук не распространяется в вакууме. ему нужна среда, обладающая упругостью: жидкость, газ или твердое тело. У звуковой волны есть такие параметры, как длина волны, частота (число циклов, которые происходят за секунду), скорость, форма колебаний.Виды звуковых волн
В зависимости от типа и направления колебаний звуковые волны разделяют:Продольные. Они направлены и смещаются подобно частицам среды.
Поперечные. Эти волны распространяются в твердых телах перпендикулярно по отношению к направленности колебаний среды.
Поверхностные, или Рэлеевские. Они распространяются по поверхности материала. Траектория их движения описывает эллипс. Когда такие волны углубляются в материал, их колебания постепенно уменьшаются и затухают. Они способны проникнуть внутрь на одну длину волны.
Волна Лэмба. В ее составе есть два типа волн: бегущие и стоячие. Она способна изгибаться и распространяется в тонких слоях стержня или пластины со свободными границами, где частицы смещаются и перпендикулярно плоскости пластины, и в направлении распространения волны.
Датчик 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);
}
Комментарии