Пишу код по инструкции, но ничего не происходит-- робот не движется. Может в коде есть ошибка? var motor = require('@amperka/motor'); var leftMotor = motor.connect(motor.MotorShield.M1); var rightMotor = motor.connect(motor.MotorShield.M2); var encoder = recuire('@amperka/sensor'); var leftEncoder = encoder.connect(P10); var rightEncoder = encoder.connect(P9); function cruise(curMotor, STARTV, CRUISESPEED, DELTAV) { var counter = 0; var WHEEL_LENGTH = 195; var lastTime = getTime(); var V = STARTV; curMotor.write(V); return function () { counter++; if (counter % 12 !== 0) return; var deltaTime = getTime() - lastTime; var speed = WHEEL_LENGTH / deltaTime / 1000; lastTime = getTime(); if (speed < CRUISESPEED && Math.abs(V) < 1) { V = V + DELTAV; } else if (speed > CRUISESPEED && Math.abs(V) > 0){ V = V - DELTAV; } curMotor.write(V); }; } leftEncoder.on('white', cruise(leftMotor, 0.3, 0.3, 0.01)); rightEncoder.on('white', cruise(rightMotor, -0.3, 0.3, -0.01));
Так-же затупил в этом месте инструкции. Там ошибка в использовании портов в инструкции и примере кода, надо: Левый энкодер - на P9 Правый энкодер- на P10 Ну или переставить местами разъёмы на плате. Где-то там ещё были опечатки. @NikitOS , вообще имеет смысл сообщать об ошибках? Как это сделать? Или всем пофиг уже, можно не дёргаться?