Акустический датчик 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 — порт.
Наглядно посмотреть на устройство можно на приведенном видео.