Инструменты пользователя

Инструменты сайта


@amperka/barometer

Библиотека для управления датчиком давления на модулях барометра и IMU-сенсора использующих микросхему LPS331 на I²C шине.

I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
var baro = require('@amperka/barometer').connect({i2c: I2C1});
 
baro.init();
print(baro.read());
print(baro.read('Pa'));
print(baro.read('mmHg'));
 
print(baro.temperature());
print(baro.temperature('C'));

Функции и объекты модуля

connect([opts]);

Возвращает новый объект LPS331 для взаимодействия с барометром. В качестве параметра opts, можно передать объект со следующими свойствами:

  • i2c — объект I²C. По умолчанию используется PrimaryI2C (I2C1);
  • address — адрес устройства на шине I2C. По умолчанию используется 0x5C.

Не забудьте, что модуль изначально находится в спящем режиме.

// Настраиваем I2C2
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
 
// Создаем новый экземпляр, который работает с I2C2 и имеет адрес 0x5D
var baro = require('@amperka/barometer').connect({
  i2c: I2C1,
  address: 0x5D
});

LPS331

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

LPS331.init()

Включает сенсор.

LPS331.read([units])

Возвращает давление. Если параметр units не задан — во внутренних единицах модуля. Можно указать следующие единицы измерения: mmHg — миллиметры ртутного столба, mBar — миллибары, Pa — паскали.

baro.read();         // вернёт давление во внутренних единицах
baro.read('Pa');     // вернёт давление в паскалях
baro.read('mmHg');   // вернёт давление в миллиметрах ртутного столба

LPS331.temperature([units])

Возвращает температуру. Если параметр units не задан — во внутренних единицах модуля. Или можно указать следующие единицы измерения: C — градусы Цельсия, K — градусы Кельвина, F — градусы Фаренгейта.

print(baro.temperature());       // вернёт температуру во внутренних единицах
print(baro.temperature('K'));    // вернёт температуру в градусах Кельвина
print(baro.temperature('C'));    // вернёт температуру в градусах Цельсия
print(baro.temperature('F'));    // вернёт температуру в градусах Фаренгейта

LPS331.whoAmI()

Возвращает идентификатор устройства

LPS331.write(register, data)

Записывает данные, начиная с регистра register. Данные передаются в параметре data в виде байта или массива байт.

LPS331.read(register, length)

Читает данные, начиная с регистра register. Считывается количество байт, указанное в параметре length. Если параметр не указан — считывается один байт.