====== @amperka/magnetometer====== Библиотека для управления датчиком магнитного поля на модулях [[amp>product/troyka-magnetometer-compass|магнитометра]] и [[amp>product/troyka-imu-10-dof|IMU-сенсора]] использующих микросхему ''LIS3MDL'' на I²C шине. // Настраиваем I2C1 I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000}); // Инициализируем магнитометр var mag = require('LIS3MDL').connect(I2C1); // С интервалом 0.1 секунду... setInterval(function(){ // ... выводим значения print(' * ', mag.get()); print(' * ', mag.get('G')); }, 100); /* * Пример вывода: * { "x": -0.32505115463, "y": -0.34960537854, "z": -0.18327974276 } * { "x": -2224, "y": -2392, "z": -1254 } * { "x": -0.32505115463, "y": -0.34960537854, "z": -0.18327974276 } * { "x": -2235, "y": -2400, "z": -1271 } * { "x": -0.32665887167, "y": -0.35077462730, "z": -0.18576439637 } * { "x": -2235, "y": -2400, "z": -1271 } * { "x": -0.32665887167, "y": -0.35077462730, "z": -0.18576439637 } * { "x": -2201, "y": -2449, "z": -1217 } * { "x": -0.32168956445, "y": -0.35793627594, "z": -0.17787196726 } * { "x": -2201, "y": -2449, "z": -1217 } * { "x": -0.32168956445, "y": -0.35793627594, "z": -0.17787196726 } * { "x": -2220, "y": -2437, "z": -1232 } * { "x": -0.32446653025, "y": -0.35618240280, "z": -0.18006430868 } * { "x": -2220, "y": -2437, "z": -1232 } * { "x": -0.32446653025, "y": -0.35618240280, "z": -0.18006430868 } * { "x": -2207, "y": -2452, "z": -1250 } * { "x": -0.32256650102, "y": -0.35837474422, "z": -0.18269511838 } * { "x": -2207, "y": -2452, "z": -1250 } */ ===== Функции и объекты модуля ===== func:: connect(i2c, [address]]); Возвращает новый объект ''LIS3MDL'' для взаимодействия с барометром. По умолчанию используется адрес на шине ''0x1C'', но вы можете указать другой, в параметре ''address''. class:: LIS3MDL Класс для взаимодействия с барометром. Для создания нового объекта, используйте функцию ''connect''. meth:: LIS3MDL.init([opts]) Инициализация магнитометра и вывод его из спящего режима. Параметр ''opts'' — объект со свойствами: * ''frequency'' — частота обновления данных. Можно указать одно из следующих значений: 10, 20, 40, 80 (по умолчанию); * ''sensitivity'' — чувствительность в гауссах. Можно указать одно из следующих значений: 1 (по умолчанию), 8, 12, 16. meth:: LIS3MDL.get([units]) Возвращает данные о магнитном поле по трем осям. Если параметр ''units'' не передан — данные возвращаются в виде объекта со свойствами ''x'', ''y'', ''z'', каждое из которых имеет значение от −32768 до 32767, если передано значение ''G'' — напряженность магнитного поля возвращается в Гауссах. meth:: LIS3MDL.whoAmI() Возвращает идентификатор устройства meth:: LIS3MDL.write(register, data) Записывает данные, начиная с регистра ''register''. Данные передаются в параметре ''data'' в виде байта или массива байт. meth:: LIS3MDL.read(register, length) Читает данные, начиная с регистра ''register''. Считывается количество байт, указанное в параметре ''length''. Если параметр не указан — считывается один байт.