Библиотека для работы с Восьмиканальный датчик линии (Zelo-модуль) даёт возможность считать аналоговый сигнал с каждого из восьми датчиков индивидуально или считать всю группу разом, а так же управлять подсветкой и чувствительностью.
I2C1.setup({sda: SDA, scl: SCL, bitrate: 100000}); // подключаем модуль работы с восьмиканальным датчиком линии var octoliner = require("@amperka/octoliner").connect({i2c:I2C1, address:42}); // устанавливаем чувствительность датчиков линии octoliner.setSensitivity(0.8); // устанавливаем уровень подсветки octoliner.setBrightness(1); for(var i = 0; i < 8; ++i){ // в цикле считываем все 8 датчиков и выводим из значения console.log(octoliner.analogRead(i)); } console.log(octoliner.getBinaryLine()); console.log(octoliner.mapLine(octoliner.getBinaryLine()));
Создаёт новый объект Expander. Объект opts
может содержать поля:
i2c
— I2C, к которому подключён модуль, по умолчанию I2C1
address
— адрес модуля, по умолчанию 42.
Класс для работы с расширителем. Для создания экземпляра используйте функцию connect
.
Считывает аналоговое напряжение на датчике линии num
. Диапазон возвращаемых значений: 0.0–1.0.
Считывает цифровой сигнал на датчике линии num
. Диапазон возвращаемых значений: 0,1.
Считывает аналоговое напряжение на пине pin
. Диапазон возвращаемых значений: 0.0–1.0.
Считывает аналоговое напряжение на пине pin
. Диапазон возвращаемых значений: 0.0–1.0.
Меняет адрес модуля на addr
. Адрес хранится до первого сброса питания. Чтобы сохранить новый адрес в постоянной памяти, используйте функцию saveAddr
. Это бывает полезно, если вы хотите использовать более одного восьмиканального датчика линии.
Сохраняет в памяти модуля новый адрес I2C.
Установка чувствительности фотоприёмника, аналог резистора на датчике линии.
Устанавливает яркость подсветки ИК-диодами.
Сбрасывает настройки восьмиканального датчика линии.
Поменяйте адрес на одном модуле.
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000}); var octoliner = require('@amperka/octoliner').connect({i2c: I2C1, address: 42}); octoliner.changeAddr(43); octoliner.saveAddr();
Подключите второй модуль.
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000}); var octoliners = require('@amperka/gpio-expander'); var octolinerA = expanders.connect({i2c: I2C1, address: 42}); // адрес модуля octolinerA — 42 var octolinerB = expanders.connect({i2c: I2C1, address: 43}); // адрес модуля octolinerB — 43 // устанавливаем чувствительность датчиков линии octolinerA.setSensitivity(0.8); octolinerB.setSensitivity(0.8); // устанавливаем уровень подсветки octolinerA.setBrightness(1); octolinerB.setBrightness(1); for(var i = 0; i < 8; ++i){ // в цикле считываем все 8 датчиков и выводим из значения console.log(octolinerA.analogRead(i)); console.log(octolinerB.analogRead(i)); } console.log(octolinerA.getBinaryLine()); console.log(octolinerB.getBinaryLine()); console.log(octolinerA.mapLine(octolinerA.getBinaryLine())); console.log(octolinerB.mapLine(octolinerB.getBinaryLine()));