Модуль для работы с ультразвуковыми дальномерами 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" — сенсор не подтверждает начало измерения, он подключен неправильно или неисправен.