Датчик измерения расстояний — дальномер (модуль 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); }
Результат работы скетча определения расстояния до объекта: