Содержание

@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');

connect(pins)

Создаёт новый объект Ultrasonic для дальномера, подключённому к пинам, которые задаются объектом-параметром pins.

В pins должны быть 2 поля:

Ultrasonic

Класс для работы с дальномером. Чтобы создать новый экземпляр, используйте функцию connect.

Ultrasonic.ping(callback[, units])

Запускает процесс измерения расстояния. При возвращении ультразвукового эха или при возникновении ошибки вызывает функцию callback(err, value):

В качестве единиц измерения можно использовать:

Если параметр units опущен, используются секунды ("s").

Для пересчёта времени в расстояние используется скорость звука при стандартных атмосферных параметрах: температуре 25 °C и нормальном давление на уровне моря.

В качестве сообщения ошибки err.msg может быть одно из значений: