@amperka/robot-2wd

Библиотека для управления двухколёсным шасси на коллекторных двигателях. Использует библиотеку '@amperka/motor' и может работать с Motor Shield.

// Подключаем библиотеку
var marsohod = require('@amperka/robot-2wd')
  .connect();
 
// Двигаемся вперёд на 50-процентной мощности моторов
marsohod.go({l: 0.5, r: 0.5});

Функции и объекты модуля

connect([opts])

Возвращает новый объект Robot.

В качестве opts принимается объект с полями:

  • leftMotor — левый двигатель шасси, объект Motor библиотеки '@amperka/motor';
  • rightMotor — правый двигатель шасси, объект Motor библиотеки '@amperka/motor';
  • acceleration — ускорение шасси при старте и остановке. Значение в диапазоне [0.0; 1.0].

Если моторы подключены к Motor Shield, оставьте параметр opts пустым.

Robot

Класс для работы с шасси. Для создания нового объекта, используйте функцию connect.

Robot.go(opts)

Функция задаёт скорость двигателей в шасси.

В качестве opts принимается объект с полями l и r — скорость левого и правого двигателей соответственно. Скорость задаётся в диапазоне [-1.0; 1.0]. Примеры значений:

  • -1 — полный назад;
  • -0.25 — назад на 25% мощности;
  • 0 — стоп;
  • 0.5 — вперед на 50% мощности;
  • 1.0 — полный вперёд

При выходе значения за границы диапазона, оно будет автоматически приведено к ближайшей границе диапазона.

// Вращаемся через левое плечо
marsohod.go({l: -0.8, r: 0.5});

Robot.stop()

Функция резкого останова двигателей. Игнорирует плавное замедление, указанно в параметре acceleration.

Robot.acceleration([acc])

Функция меняет значение ускорения, выставленного в параметре acceleration функции connect. Если передать acc пустым, функция вернёт текущее значение ускорения. Изменение скорости происходит с периодом 20 мс.

// Задаём ускорение двигателей
marsohod.acceleration(0.25);
print(marsohod.acceleration()); // выведет 0.25