Напруга живлення 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грн.