Мы с соцсетях

Акустический датчик HC-SR04

Акустический датчик HC-SR04
Тип статьи:
Авторская

Акустический датчик хорошо подходит для определения препятствий и расстояния до него

Принцип работы акустического датчика основан на излучении ультразвуковых волн и приема отраженной волны. По разности времени от излучения до поступления на микрофон, можно определить расстояние, которое прошла излученная волна.

Сонар или акустический датчик HC-SR04 имеет следующие характеристики:

  • измеряемый диапазон — от 2-х до 500 см;
  • точность — 0,3 см;
  • угол обзора — < 15 °;
  • напряжение питания — 5 В.

Датчик имеет 4 вывода:

  • VCC — питание +5 В;
  • Trig (T) — вывод входного сигнала;
  • Echo ® — вывод выходного сигнала;
  • GND — земля.

Внешний вид датчика представлен на рисунках ниже

Подробно о датчике можно посмотреть на сайте http://www.progdron.com.Здесь же можно скачать скетч и применяемую библиотеку. Здесь рассмотрим подключение датчика к Arduino на примере приведенного на www.progdron.com скетча.

Рассмотрим подробнее скетч

 
#include <NewPing.h>
#define TRIGGER_PIN  12  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN  11  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define  MAX_DISTANCE 400 // Максимальное расстояние, которое мы контролируем (в  сантиметрах).
// Максимальное расстояние подобных датчиков находится в  диапазоне 400-500см.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Настройка пинов и максимального расстояния
void setup() {
 Serial.begin(115200); // Открытие серийного протокола с частотой передачи данных 115200 бит/сек.
}
void loop() {
	delay(500);  // Задержка в 500 миллисекунд между  генерацией волн. 29 миллисекунд – минимально допустимая задержка.<br>
	unsigned int uS = sonar.ping(); // Генерация сигнала, получение времени в микросекундах (uS).<br>
	Serial.print("Ping: ");<br>
	Serial.print(uS / US_ROUNDTRIP_CM); // Преобразование времени в  расстояние и отображение результата (0 соответствует выходу за  допустимый диапазон)<br>
	Serial.println("cm");<br>
	}
 

Вначале подключается библиотека. далее настраиваются порты ввода/ вывода и скорость соединения к com — порту — результат работы датчика можно посмотреть в терминале программы Arduino.

Далее идет циклический опрос датчика, получение ответа и выдача результата в com — порт.

Наглядно посмотреть на устройство можно на приведенном видео.