Эта страница только для чтения. Вы можете посмотреть исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Ультразвуковой дальномер HC-SR04 ====== ===== Описание ===== Ультразвуковой дальномер HC-SR04 - предназначен для измерения расстояний от 2 до 400 см, причем предел точности может достигать до 3 мм. Модуль включает ультразвуковой передатчик, приёмник и узел контроля. Основной принцип работы: - Использование триггера ввода/вывода для подачи сигнала (минимум 10 миллисекунд) - Модуль автоматически отправляет 40 кГц сигнал и определяет возвращается ли импульсный сигнал - Если сигнал возвращается, проверяется время между отправкой и возвратом Расстояние вычисляется по формуле: Расстояние = Время высокого уровня * Скорость звука (340 м/с) / 2 или Расстояние в сантиметрах = Время в мс / 58. ==== Технические характеристики ==== * Рабочее напряжение 5 В * Потребление тока 15 мА * Рабочая частота 40 Гц * Максимальное измеряемое расстояние 4 м * Минимальное измеряемое расстояние 2 см * Угол измерений 15° ==== Физические размеры ==== * Модуль (Д х Ш х В): 45 х 20 х 15 мм ==== Плюсы использования данных датчиков ==== * Самое популярное и недорогое решение * Высокая скорость измерения ==== Минусы использования данных датчиков ==== * Невысокая точность измерения (возможно связана с калибровкой формулы расчета расстояния) //Примечание: Иногда при измерении может происходить "зависание" датчика. Датчик периодически выводит 0. Связано это с использованием функции pulseIn при измерении расстояния, которая ждет сигнала HIGH, не учитывая что он там уже может быть.// ===== Пример подключения и использования ===== В примере рассматривается измерение расстояния с помощью датчика и вывод расстояния в монитор Serial-порта. Для тестирования примера использовался контроллер Smart UNO. ^ Что нужно ^ Кол-во, шт ^ | [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart UNO]] | 1 | | [[https://smartelements.ru/collection/datchiki-i-sensory/product/ultrazvukovoy-dalnomer-hc-sr04|Ультразвуковой дальномер HC-SR04]] | 1 | | [[https://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа-мама]] | 4 | **Схема подключения:** {{ главная:датчики:hcsr04.jpg |}} **Скетч для загрузки:** <file Arduino> const int Trig = 8; //пин для вывода датчика Trig const int Echo = 9; //пин для вывода датчика Echo unsigned int time_us = 0; //переменнная для хранения времени отклика unsigned int distance_cm = 0; //переменнная для хранения расстояния void setup() { pinMode(Trig, OUTPUT); //установка режима пина pinMode(Echo, INPUT); //установка режима пина Serial.begin(9600); //инициализация Serial-порта } void loop() { digitalWrite(Trig, HIGH); //подается ультразвуковой сигнал с датчика delayMicroseconds(10); //продолжается передача 10 микросекунд digitalWrite(Trig, LOW); //подача сигнала прекращается time_us = pulseIn(Echo, HIGH); //замер длины импульса distance_cm = time_us/58; //пересчет в сантиметры. Для данного датчика постоянная для перевода - 58 //если произошло зависание, попытаться сбросить пин подключения Echo if(distance_cm == 0) { pinMode(Echo, OUTPUT); digitalWrite(Echo, LOW); pinMode(Echo, INPUT); return; } //Вывод данных в монитор порта Serial.print("The distance is "); Serial.print(distance_cm); Serial.println(" sm."); delay(100); //задержка } </file>