====== @amperka/proximity ====== Библиотека для работы с [[amp>/product/troyka-proximity|датчиком приближения и освещённости]]. Позволяет измерять расстояние до предметов в диапазоне от 0 до 200 миллиметров и освещённость в диапазоне от 0 до 20000 люкс. Датчик подключается по протоколу I2C и использует пин прерывания ''IRQ''. // настраиваем I2C1 для работы модуля I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000}); // подключаем модуль к I2C1 и пину прерывания var prox = require('@amperka/proximity').connect({ i2c: I2C1, irqPin: P4 }); // каждые 10 миллисекунд измеряем расстояние function getRange() { prox.range(function(error, value) { if (error) { print(error.msg); } else { print('distance:', value, 'mm'); } setTimeout(getAmbient, 10); }); } // каждые 10 миллисекунд измеряем освещенность function getAmbient() { prox.ambient(function(error, value) { if (error) { print(error.msg); } else { print('illuminance:', value, 'lux'); } setTimeout(getRange, 10); }); } getRange(); ===== Функции модуля ===== func:: connect(pins) Создаёт новый объект VL6180X. Объект ''pins'' должен содержать поля: * ''i2c'' — I2C, к которому подключен модуль, например ''I2C1'' * ''irqPin'' — пин прерывания. class:: VL6180X Класс для работы с датчиком VL6180X. Для создания экземпляра используйте функцию ''connect''. func:: VL6180X.range(callback) Функция измерения расстояния. Результат передаётся в функцию ''callback''. ''callback'' принимает 2 аргумента: ''error'' и ''value''. Объект ''error'' равен ''false'', если измеренное расстояние лежит в пределах от 0 до 200 миллиметров. В противном случае ''error.msg'' будет содержать информацию об ошибке. Параметр ''value'' хранит расстояние в миллиметрах. prox.range(function(error, value) { if (error) { print(error.msg); } else { print('distance:', value, 'mm'); } }); func:: VL6180X.ambient(callback) Функция измерения освещённости. Результат передаётся в функцию ''callback''. ''callback'' принимает 2 аргумента: ''error'' и ''value''. Объект ''error'' равен ''false'', если измеренное расстояние лежит в пределах от 0 до 20000 люкс. В противном случае ''error.msg'' будет содержать информацию об ошибке. Параметр ''value'' хранит расстояние в люксах. prox.ambient(function(error, value) { if (error) { print(error.msg); } else { print('illuminance:', value, 'lux'); } });