Опубликовано

УЗ-датчик расстояния HC-SR04

По материалам руководства к набору “Умный дом на базе Arduino. Большой набор + КНИГА

УЗ-датчик HC-SR04 определяет расстояние до объекта, измеряя время прихода отраженной волны (рис. S3.1). Такой же принцип ультразвуковой эхолокации используют летучие мыши.

Основные характеристики

Наименование Значение
Напряжение питания, В 5
Ток покоя, мA <2
Эффективный угол менее 15°
Диапазон измерения расстояния, см 2 ÷ 400
Разрешение, см 0,3
Рабочий ток, мA 15
Рабочая частота, кГц 40
Размеры, мм 45×20×15

Внешний вид, назначение контактов

03-01-HC-SR-04

Рис. S3.1. Принцип действия УЗ-датчика

Схема подключения

2-03-2-HC-SR-04

Рис.S3.2. Схема подключения УЗ-датчика

Программный код

Листинг S3.1. Определение дальности с помощью УЗ-датчика HC-SR04

#define TrigPin 4 //Номер пина Trig Датчика расстояния(HC-SR04)

#define EchoPin 5 //Номер пина Echo Датчика расстояния(HC-SR04)

long duration, cm, inches; //переменные

void setup() {

//Инциализация последовательного порта

Serial.begin (9600);

//Установка режима работы для пинов

pinMode(TrigPin, OUTPUT);

pinMode(EchoPin, INPUT);

}

void loop(){

// Датчик срабатывает при высоком импульсе 10 или более микросекунд.

// Для большей точности установим значение LOW на пине Trig:

digitalWrite(TrigPin, LOW);

delayMicroseconds(5);

// Теперь установим высокий уровень на пине Trig

digitalWrite(TrigPin, HIGH);

delayMicroseconds(10);

digitalWrite(TrigPin, LOW);

//Считываем сигнал с датчика: высокий импульс,

//длительность которого равна времени (в микросекундах)

//от отправки пинга до получения его эхо-сигнала от объекта.

duration = pulseIn(EchoPin, HIGH);

cm = (duration/2)/29.1; //преобразуем время в расстояние в см

inches = (duration/2)/74; //преобразуем время в расстояние в дюймах

Serial.print(inches);

Serial.print("in, ");

Serial.print(cm);

Serial.print("cm");

Serial.println();

delay(250);

}

Результат

2-03-3-HC-SR-04

Рис. S3.3. Результаты измерений

Добавить комментарий