Напряжение питания 5 В
Рабочий угол отраженной волны не больше 15 градусов ардуино юа
Диапазон измеряемых расстояний 2 см ... 450 см
Подаем на ножку Trig сигнал, длительностью 10мкс, что запускает генератор, создающий пачку коротких импульсов на передатчике ( 8 шт ). Далее, приемник получает отраженный сигнал и на ножке Echo генерируется прямоугольный сигнал, длина которого пропорциональна времени между излучением импульсов и детектированием их приемником.
Реальное время, за которое звук дойдет до приемника, конечно же, составит какие-то мгновения. Что бы по нему определить расстояние, можно воспользоваться нехитрой формулой:
s=vt/2, s — расстояние, v — скорость звука, t — время получения сигнала на приемнике ультразвукового датчика.
Ну почему пополам делим, думаю всем понятно. Только в данном случае эта формула не нужна. Привожу ее здесь исключительно для понимания физики процесса.
С выхода Echo идет уже сформированный сигнал, с достаточно большой длительностью. Заглянув в даташит, мы увидим формулу пересчета: s = t/58, s — расстояние, t — длительность ультразвукового импульса Echo, s — расстояние до датчика в сантиметрах.
Пример программы для Arduino:
const int Trig = 3; // обозначим к какой ножке и что подключаем
const int Echo = 2;
void setup()
{
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
Serial.begin(9600); // Инициализируем сериал порт, дабы вывести результат ультразвукового замера на монитор
}
unsigned int time_us=0; // Переменная для хранения временного интервала
unsigned int distance_sm=0; // Переменная для хранения расстояния в сантиметрах
void loop()
{
digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера
delayMicroseconds(10); // Удерживаем 10 микросекунд
digitalWrite(Trig, LOW); // Затем убираем
time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса
distance_sm=time_us/58; // Пересчитываем в сантиметры
Serial.print(distance_sm); // Выводим на порт
Serial.print(" ");
delay(500);
}
И использование самой продвинутой библиотеки для датчиков типа HC-SR04:
#include <NewPing.h> #define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { Serial.begin(115200); } void loop() { delay(50); Serial.print("Ping: "); Serial.print(sonar.ping_cm()); Serial.println("cm"); }
Ультразвуковой датчик расстояния HC-SR04
- Модель HC-SR04
- Наличие Есть в наличии
-
38.42грн.
Рекомендуемые товары
Держатель ультразвукового датчика HC-SR04
Держатель используется для монтажа ультразвукового датчика расстояния HC-SR04 на различных конс..
17.25грн.