Ну что, продолжая изучение Ардуино и как следствие альтернатив на счет подключения возможных датчиков, добрался я и до ультразвукового датчика HS-SR04. В целом его использование в купе с Ардуинкой начиная с подключения и заканчивая пробными экспериментами прошло без проблем, поэтому этот датчик однозначно можно отнести в разряд беспроблемных!
Итак, все же для истории и для заметки я чиркну пару строк на этот счет.
Характеристика датчика HS-SR04
Что же пару слов о не особо интересном, но явно полезном, если вдруг появятся проблемы с датчиком.
Напряжение питания: 5 В
Потребление в режиме тишины: 2 мА
Потребление при работе: 15 мА
Диапазон расстояний: 2–400 см
Эффективный угол наблюдения: 15°
Рабочий угол наблюдения: 30°
Если наглядно, то датчик работает примерно так.
Есть излучатель и есть приемник. И тут собственно происходит обычное анализирование между временем когда сигнал был отправлен и когда получен. В итоге по этому времени и считается расстояние между датчиком и препятствием. И здесь естественно сигнал исходящий должен быть импульсным с определенными перерывами между импульсами, ведь только в этом случае мы сможем узнать о конкретном времени передачи сигнала, то есть появиться возможность разделить "порционно" не только передачу, что не особо важно, а именно прием. И здесь уже можно понять, что определенная изначальная передача сигнала была привязана именно к данному конечному приему этого же сигнала. Если же было постоянное излучение, то расстояние можно было определять лишь по уровню приходящего сигнала, а не по времени, что явно менее выигрышное в алгоритме определения расстояния.
Теперь же к схеме подключения, хотя в случае с Ардуино это все условности, ведь схема может весьма гибко и быстро меняться, исходя из программы.
Электрическая схема подключения HS-SR04 к Ардуино
Если речь пошла о подключении, то сразу о выводах на датчике.
Контакт питания положительного типа – +5В;
Trig (Т) – выход сигнала входа;
Echo (R) – вывод сигнала выхода;
GND – вывод «Земля».
Собственно из 4 пинов два используются для питания, и два для обмена данными. Как и было сказано подключение во 2 и 4 вывод весьма условны, так как их можно переписать в скетче, о котором и поведаю далее.
Скетч для работы с датчиком HS-SR04
Сам скетч предполагает срабатывание светодиода, то есть что он загорится, когда до препятствия останется указанная дистанция. Собственно пояснения можно найти в самом скетче, в общем открываем его и смотрим.
* - в скетче 0,034 это как раз расстояние которое проходит звук, но не в секундах, а в мкс и там же если посмотрите оно делится пополам, так как звуку надо еще вернуться обратно.
Ну и когда расстояние становится вновь больше указанного, то само собой светодиод гаснет. По мне так все просто. Для датчика существуют библиотеки, которые позволяют ему работать более корректно в случае с нежелательным отраженным сигналом (эхо). Меня на настоящий момент это не особо интересовало, поэтому библиотеки я себе не брал. Все работает без них.