====== @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''. Если параметр не указан — считывается один байт.