Датчик измерения расстояний — дальномер (модуль HC-SR04) осуществляет измерения расстояний от 2-3 см до 4 м с погрешностью от 3 мм. за счет отражения ультразвуковой волны от препятствий. Датчик состоит из ультразвукового передатчика, приемника и схемы управления.
Характеристики датчика измерения расстояний (модуль HC-SR04)
Напряжение 5 В;
Потребляемый ток в режиме ожидания 2 мА;
Потребляемый ток в активном режиме 15 мА;
Рабочая ультразвуковая частота 40 Гц;
Угол измерения 15 градусов;
Trigger Input Signal 10uS TTL pulse;
Температура эксплуатации -30…80 C;
Размер 45x20x15.
Датчик HC-SR04

Распиовка датчика HC-SR04
VCC (Power +5V)
Trig (Trigger Input)
Echo (Receive Output)
GND (Ground)
Схема подключения модуля HC-SR04 к Arduino UNO

Скетч для модуля HC-SR04 подключенного к Arduino UNO
#define pin_echo_digital 11
#define pin_trig_digital 12
long t;
int d;
void setup() {
Serial.begin(9600);
pinMode(pin_trig_digital, OUTPUT);
pinMode(pin_echo_digital, INPUT);
}
void loop() {
// генерируем короткий импульс 4 мс (2-5 мс)
digitalWrite(pin_trig_digital, LOW);
delayMicroseconds(4);
// Установим датчик в активное состояние с частотой 40 кГц
digitalWrite(pin_trig_digital, HIGH);
// Подаем импульс длительностью 10 мс и
// дальномер- отправляет ультразвуковую волну - 8 импульсов с частотой 40 кГц
// и echo устанавливает 1, как только волна отразится от препятствия
// и вернется обратно echo устанавливает 0.
//(тоже самое будет если волна не возратится через 38 мс, то есть echo равно 0)
delayMicroseconds(10);
digitalWrite(pin_trig_digital, LOW);
// получаем время звуковой волны
t = pulseIn(pin_echo_digital, HIGH);
// переводим время в расстояние
d = t * 0.034 / 2;
Serial.print("Расстояние: ");
Serial.print(d);
Serial.println(" см");
delay(300);
}
Результат работы скетча определения расстояния до объекта:

