====== @amperka/accelerometer ======
Библиотека для управления датчиком ускорения на модулях [[amp>product/troyka-accelerometer|акселерометра]] и [[amp>product/troyka-imu-10-dof|IMU-сенсора]] использующих микросхему ''LIS331'' на I²C шине.
// Настраиваем шину I2C
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
// Подключаем модуль
var accel = require('@amperka/accelerometer').connect(I2C1);
// Инициализируем модуль
accel.init();
setInterval(function(){
// Отображаем силы, действующие на акселерометр
print(accel.read('G'));
}, 500);
===== Функции и объекты модуля =====
func:: connect([opts]);
Возвращает новый объект ''LIS331'' для взаимодействия с акселерометром. В качестве параметра ''opts'', можно передать объект со следующими свойствами:
* ''i2c'' — объект I²C. По умолчанию используется PrimaryI2C (I2C1);
* ''address'' — адрес устройства на шине I2C. По умолчанию используется ''0x1C''.
Следует не забыть, что модуль изначально находится в спящем режиме.
// Настраиваем I2C2
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
// Создаем новый экземпляр, который работает с I2C2 и имеет адрес 0x1D
var accel = require('@amperka/LIS331').connect({
i2c: I2C1,
address: 0x1D
});
class:: LIS331
Класс для взаимодействия с акселерометром. Для создания нового объекта, используйте функцию ''connect''.
meth:: LIS331.init([opts])
Выводит модуль из режима пониженного энергопотребления и осуществляет его настройки. В качестве параметра ''opts'' передается объект со следующими свойствами:
* ''frequency'' — частота измерений в герцах: 50 (по умолчанию), 100, 400 или 1000;
* ''maxAccel'' — максимальное измеряемое ускорение в G: 2 (по умолчанию), 4 или 8;
* ''highPassFilter'' — количество выборок высокочастотного фильтра: 0 (по умолчанию), 8, 16, 32, 64;
accel.init({
frequency: 50,
maxAccel: 2,
highPassFilter: 0
});
meth:: LIS331.read([units])
Возвращает ускорение. Если параметр ''units'' не задан — во внутренних единицах акселерометра. Или можно указать следующие единицу измерения: ''G'', ''a''.
accel.read(); // возвратит ускорения во внутренних единицах
accel.read('G'); // возвратит ускорения в единицах G
accel.read('a'); // возвратит ускорения в метрах в секундах в квадрате
meth:: LIS331.whoAmI()
Возвращает идентификатор устройства
meth:: LIS331.writeI2C(register, data)
Записывает данные, начиная с регистра ''register''. Данные передаются в параметре ''data'' в виде байта или массива байт.
meth:: LIS331.readI2C(register, length)
Читает данные, начиная с регистра ''register''. Считывается количество байт, указанное в параметре ''length''. Если параметр не указан — считывается один байт.