Ультразвуковой датчик или инфракрасный датчик лучше для измерения расстояния (до/от человеческого тела)?

arduino-uno sensors ir ultrasonics distance

Я пытаюсь сделать датчик, определяющий, что человек находится в пределах 50 см, чтобы активировать функцию. Но когда я использую датчик HR-SR04, он точно работает на плоских поверхностях (например, на стенах, книгах) с погрешностью около 5 см, но не на неровных поверхностях (например, на людях), где значение случайным образом колеблется от 0 см до 1000 см. < /p>

Я подумал, не лучше ли использовать ИК-датчик расстояния.

, 👍3


2 ответа


Лучший ответ:

3

Это зависит от ваших требований. ИК-датчик расстояния будет лучше работать с различными материалами, поскольку ИК-свет в основном отражается под очень широкими углами (за исключением материалов с высокой отражающей способностью, таких как зеркала), так что также обнаруживаются неровные поверхности. Но вы получите значительно худшую погрешность в диапазоне 50 см. Обычные ИК-датчики расстояния — это просто светодиод и ИК-фототранзистор, иногда с некоторыми дополнительными компонентами. Итак, светодиод загорается, а фототранзистор измеряет, сколько ИК-излучения возвращается. ИК-датчик также зависит от отражательной способности материалов и уровня окружающего ИК-излучения.

Но поскольку вам не нужно измерять расстояние, а просто нужно знать, есть ли объект в диапазоне, может быть достаточно ИК-датчика. Вам нужно будет изменить порог ИК-датчика в соответствии с вашими потребностями (поэкспериментировав с ним).

В целом, я думаю, да, ИК-датчик может дать вам лучшие результаты для вашего приложения, правда, не для реального измерения расстояния, а только для присутствия в диапазоне с довольно большой погрешностью.

,

Я проголосовал за ваш ответ (хотя мой мне нравится больше), потому что вы предоставляете хорошую информацию и хорошую альтернативную точку зрения., @Gabriel Staples


0

Я обнаружил, что ИК-точность имеет низкое разрешение (+/- несколько сантиметров), так как она сильно зависит от отражающей способности поверхности. Он также часто имеет очень плохой радиус действия (от нескольких сантиметров до десятков сантиметров), в зависимости от мощности излучения источника освещения.

Однако я обнаружил, что ультразвуковые датчики, даже дешевые за 0,99 доллара, которые вы упомянули, имеют гораздо лучшее разрешение (+/- мм) и гораздо больший диапазон (около 2 м), в зависимости от кода, управляющего ими. Мне еще предстоит увидеть хороший неблокирующий код ни в одной библиотеке для одного из них, но когда я пишу свой собственный неблокирующий код с прерываниями и базовой цифровой обработкой сигналов, такой как медианный фильтр, я получаю отличные результаты.

Итак, я рекомендую вам использовать ультразвук, но для того, чтобы сделать это хорошо и правильно, требуются дополнительные знания, такие как использование прерываний и получение медианы каждых 3–5 выборок для удаления ложных результатов.

На очень плоских поверхностях, таких как стены, под углом 45 градусов или больше, ультразвук также работает плохо, поскольку в конечном итоге он измеряет расстояние, включая дополнительные отражения от стен, но вопреки тому, что вы испытали, на необычных или более мягких объектах, таких как люди, я считаю, что они справляются намного лучше. Я уже несколько раз использовал ультразвук как средство обнаружения людей с хорошими результатами. Настоящий секрет/вызов — это ваш код. И опять же, мне еще предстоит найти подходящую библиотеку, а хороший код для этих дешевых вещей имеет ОГРОМНОЕ значение в результатах, надежности и точности!

,

не могли бы вы дать ссылку, порекомендовавшую продемонстрировать такой код (прерывания, медианные измерения)?, @Vincent Teyssier