// Настраиваем шину I2C PrimaryI2C.setup({sda: SDA, scl: SCL, bitrate: 400000}); // Создаем новый объект Multiservo var multiservo = require('@amperka/multiservo').connect(PrimaryI2C); // Создаем новый объект сервопривода // подключенны к контакту 7 var servo = multiservo.connect(7); // Создаём объект анимация // для плавного изменения параметров вращения мотора var animServo = require('@amperka/animation').create({ // Начальное значение в градусах from: 0, // Конечное значение в градусах to: 180, // Продолжительность полного перехода // за 5 секунд мотор пройдёт диапазон значений от 0 до 180 duration: 5, // Шаг обновления: каждые 20 мс updateInterval: 0.02 }).queue({ // Начальное значение в градусах from: 180, // Конечное значение в градусах to: 0, // продолжительность полного перехода // за 5 секунд мотор пройдёт диапазон значений от 180 до 0 duration: 5 }); // Обработчик анимации animServo.on('update', function(val) { servo.write(val); }); // Запускаем анимацию setInterval(() => { animServo.play(); }, 1000);