Напряжение питания 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
- Наличие Есть в наличии
-
59.57грн.