C++| Arduino IDE | ESP8266. Описание контактов ультразвукового датчика HY-SRF05 :

1 — VCC для питания 5 В

2 — TRIG Вход сигнала триггерного управления

3 — ECHO Выход эхо-сигнала

4 -OUT  Выход цифровой  есть/нет (при использовании модуля для сигнализации при обнаружении препятствия или присутствия человека)

5 -GND для земли

 

 

C++| Arduino IDE | ESP8266. Характеристики модуля ультразвукового датчика HY-SRF05 :

Ультразвуковой датчик дальномер HY-SRF05 обеспечивает бесконтактное дистанционное зондирование от 2 см до 450 см, с точностью измерения до 3 мм. Модуль включает в себя ультразвуковой передатчик, приемник и схему управления.

C++| Arduino IDE | ESP8266. Основной принцип работы ультразвукового датчика HY-SRF05 :

(1) На вход TRIG подаются импульсы длительностью не менее 10мкс;

(2) Эти импульсы запускают работу встроенного в модуль микроконтроллер, который формирует и отправляет 8 импульсов с частотой 40кГц на ультразвуковую керамическую передающую антенну, и автоматически принимает приходящий эхо сигнал от приемной керамической антенны;

(3) Расстояние до объекта сканирования вычисляется по формуле:

Измеренное расстояние(T (время перемещения ультразвуковой волны-импульса до объекта и обратно) * (340 м/сек)) / 2.  Где 340 м/сек скорость звука в воздухе, которая зависит от температуры, поэтому это необходимо учитывать, если Вам необходима точность измерения расстояния до объекта сканирования.

C++| Arduino IDE | ESP8266. Программа (Scetch) на языке С ++  (язык  «Wiring»  для Arduino) для ультразвукового датчика HY-SRF05

Протестировано с помощью HY-SRF05, HC-SR04
Предполагая, что температура в помещении составляет 20 градусов по Цельсию
Схема:
	* Подключение VVC датчика, подключенного к + 5 В
	* Подключение GND датчика, подключенного к земле
	* Соединение TRIG датчика, подключенного к цифровому выходу 12
        * Подключение ECHO датчика, подключенного к цифровому выходу 13
* /
const int TRIG_PIN = 12;
const int ECHO_PIN = 13;
 
void setup() {
  // инициализировать последовательную связь
  Serial.begin(115200);
 
  pinMode(TRIG_PIN,OUTPUT);
  pinMode(ECHO_PIN,INPUT);
}
 
void loop()
{
   long duration, distanceCm, distanceIn;
 
//Задаем короткий импульс LOW заблаговременно, чтобы обеспечить чистый импульс HIGH:
 digitalWrite(TRIG_PIN, LOW);
 delayMicroseconds(2);
 digitalWrite(TRIG_PIN, HIGH);
 delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW);
 duration = pulseIn(ECHO_PIN,HIGH);
// Преобразуем время в расстояние 
 distanceCm = duration / 29.1 / 2 ;
 distanceIn = duration / 74 / 2;
 if (distanceCm <= 0){ Serial.println("Out of range");
 } 
 else { Serial.print(distanceIn);
 Serial.print("in, ");
 Serial.print(distanceCm);
 Serial.print("cm");
 Serial.println();
 }
 delay(1000);
 }

C++| Arduino IDE | ESP8266. Принципиальная схема модуля ультразвукового датчика HY-SRF05 :

C++| Arduino IDE | ESP8266. Сравнение самого известного модуля ультразвукового датчика HC-SR04 с модулем ультразвукового датчика HY-SRF05 :

HC-SR04 HY-SRF05
Рабочее напряжение 5 В постоянного тока 5 В постоянного тока
Статический ток <2 мА <2 мА
Выходной сигнал: Электрический частотный сигнал, высокий уровень 5В, низкий уровень 0 В Электрический частотный сигнал, высокий уровень 5В, низкий уровень 0 В
Угол датчика <15 градусов <15 градусов
Расстояние обнаружения (заявлено) 2 см-450cm 2 см-450cm
точность ~ 3 мм ~ 2 мм
Входной сигнал запуска Импульс 10us TTL Импульс 10us TTL
Эхосигнал выходной сигнал TTL PWL выходной сигнал TTL PWL
Входы/Выходы
  1. VCC
  2. TRIG
  3. ECHO
  4. GND
  1. VCC
  2. TRIG
  3. ECHO
  4. ВНЕ
  5. GND