@amperka/ultrasonic
Модуль для работы с ультразвуковыми дальномерами HC-SR04.
Звуковой пучок нужно сгенерировать и дождаться возвращения отражённого сигнала. При этом сигнал может не вернуться, если препятствие находится дальше 5 метров. Эхо текущего измерения важно не перепутать с эхом предыдущего. А полученное значение времени нужно пересчитать в расстояние. Все эти детали библиотека скрывает в себе.
var sonic = require('@amperka/ultrasonic') .connect({trigPin: P12, echoPin: P11}); sonic.ping(function(err, value) { if (err) { console.log('An error occurred:', err); } else { console.log('The distance is:', value, 'millimeters'); } }, 'mm');
Создаёт новый объект Ultrasonic
для дальномера, подключённому к пинам, которые задаются объектом-параметром pins
.
В pins
должны быть 2 поля:
trigPin
обозначает пин платформы, к которому подключен пин trig дальномера;echoPin
— пин echo дальномера.
Класс для работы с дальномером. Чтобы создать новый экземпляр, используйте функцию connect
.
Запускает процесс измерения расстояния. При возвращении ультразвукового эха или при возникновении ошибки вызывает
функцию callback(err, value)
:
value
— значение расстояния в единицах, определяемыми параметромunits
.
В качестве единиц измерения можно использовать:
"m"
,"cm"
,"mm"
— метры, сантиметры, миллиметры соответственно;"s"
,"ms"
,"us"
— секунды, миллисекунды, микросекунды соответственно.
Если параметр units
опущен, используются секунды ("s"
).
Для пересчёта времени в расстояние используется скорость звука при стандартных атмосферных параметрах: температуре 25 °C и нормальном давление на уровне моря.
В качестве сообщения ошибки err.msg
может быть одно из значений:
"timeout"
— эхо не вернулось: расстояние больше 4 метров или препятствие поглощает звук;"busy"
— совершена попытка нового измерения, пока старое ещё не завершено;"wrong connection"
— сенсор не подтверждает начало измерения, он подключен неправильно или неисправен.