Есть ли способ записать положение сервопривода в углах с помощью серво щита Adafruit 1411? - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь управлять моими сервомоторами на 180 градусов через щит сервопривода Adafruit 1411. Однако я не нахожу достаточно простым записать положение сервопривода в углах, как в обычной библиотеке сервоприводов без экрана.

Использование серво щита Adafruit 1411 и библиотеки Adafruit_PWMServoDriver позволяет вам управлять серводвигателем, изменяя его длину импульса, насколько я понял. На мой вопрос ..

Есть ли способ для меня использовать выход сервоэкрана и по-прежнему записывать в градусах ИЛИ как-то преобразовать эту длину импульса в градус-градус?

Пример различий:

Adafruit_PWMServoDriver библиотека:

pwm.setPWM (Servo, 0, pulseLength);

Servo-библиотека:

Servo.write (45); // Запись под такими углами была бы оптимальной для моего проекта.

Любая помощь в правильном направлении очень ценится!

1 Ответ

0 голосов
/ 16 мая 2019

Используйте функцию Arduino map.Ниже приведены инструкции Adafruit :

pulselength = map(degrees, 0, 180, SERVOMIN, SERVOMAX);

Где SERVOMIN и SERVOMAX - это значения, которые вы устанавливаете в соответствии с диапазоном перемещения вашего сервопривода.Это линейно отображает значение от 0 до 180 в диапазон между SERVOMIN и SERVOMAX.

Поскольку вы до сих пор делали это с длительностью импульсов, вы, вероятно, уже знали значения, которые вам нужно использовать.

...