Віримо в перемогу ЗСУ!
Працюємо з 09:00 до 18:00 Пн-Сб

Напряжение питания 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");
}


Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо

Ультразвуковой датчик расстояния HC-SR04

  • Модель HC-SR04
  • Наличие Есть в наличии
  • 59.57грн.


<< Проекты << Все товары >> Статьи, уроки >>