Skip to content

Latest commit

 

History

History
73 lines (40 loc) · 6.15 KB

API_ru.md

File metadata and controls

73 lines (40 loc) · 6.15 KB

Multiservo API (RUS)

class Multiservo

Создайте объект класса Multiservo для работы с Multiservo Shield. Плата расширения получает команды от Arduino по шине I²C и может управлять одновременно до 18 сервоприводов.

Multiservo(TwoWire& wire = Wire, uint8_t i2cAddress = 0x47)

Создает новый объект Multiservo.

  • wire: выбираемый интерфейс I²C. При вызове без параметра, соединение начинается с аппаратным I²C по умолчанию Wire.
  • i2cAddress: адрес устройства на шине I²C. При вызове без параметра, используется адрес по умолчанию — 0x47 в шестнадцатеричном формате.

void attach(int pin, int minPulse = 544, int maxPulse = 2400)

Активирует сервопривод в рабочее состояние. Задаёт угол удержания вала мотора на середине шкалы из доступного диапазона значений. Для отмены активного состояния используйте метод detach.

  • pin: цифровой пин на Multiservo Shield к которому подключен сигнальный провод сервопривода. Диапазон входных значений от 0 до 17.
  • minPulse: длина импульса в микросекундах, которая соответствует минимальному углу положения сервопривода. При вызове без параметра — 544.
  • maxPulse: длина импульса в микросекундах, которая соответствует максимальному углу положения сервопривода. При вызове без параметра — 2400.

void detach()

Деактивирует сервопривод из рабочего состояния. Вал сервопривода перестаёт удерживать какой либо угол. Для возврата в активное состояние используйте метод attach.

void write(int angle)

Поворачивает и удерживает сервопривод на заданный угол. Для сервоприводов постоянного вращения устанавливает скорость и направление вращения.

  • angle: угол поворота и удержания вала мотора. Доступный диапазон от 0 до 180 градусов. При использовании сервопривода постоянного вращения задаёт не угол, а скорость скорость кручения вала. Значение 90 используется для неподвижного состояния. Значение 0 для максимальной скорости кручения в одну сторону, а 180 для максимальной скорости кручения в другую сторону.

void writeMicroseconds(int pulse)

Поворачивает сервопривод на угол заданный в микросекундах. Для сервоприводов постоянного вращения устанавливает скорость и направление вращения.

  • pulse: устанавливает и удерживает угол вала мотора в микросекундах. С сервоприводами постоянного вращения работает аналогично методу write.

int read() const

Возвращает текущее положение сервопривода в градусах. Допустимые выходные значения от 0 до 180.

int readMicroseconds() const

Возвращает текущее положение сервопривода в микросекундах. Допустимые выходные значения соответствуют минимальной и максимальной длине импульса, которые задаются в методе attach.

bool attached() const

Проверяет текущее состояние сервопривода. Возвращаемые значения:

  • true — сервопривод активен и удерживает какой то угол.
  • false — сервопривод не активен и не удерживает какой то угол.

bool readVoltageCurrent()

Считывает и сохраняет показания текущего напряжения и тока на линии питания сервоприводов. Возвращаемые значения:

  • true: данные получены успешно. Используйте методы getVoltage и getCurrent для получения доступа к показаниям.
  • false: данные не пришли или получены с ошибкой.

Метод работает только на плате Multiservo Shield v2.

uint16_t getVoltage() const

Возвращает сохраненное значения напряжения на линии питания сервоприводов, когда метод readVoltageCurrent вернул значение true. Диапазон выходных значений от 0 до 12000 мВ.

Метод работает только на плате Multiservo Shield v2.

uint16_t getCurrent() const

Возвращает сохраненное значения потребляемого тока на линии питания сервоприводов, когда метод readVoltageCurrent вернул значение true. Диапазон выходных значений от 0 до 20000 мА.

Метод работает только на плате Multiservo Shield v2.