This commit is contained in:
Artur 2026-04-04 23:59:38 +05:00
parent 2a40402a54
commit aad9919ed0
1 changed files with 1 additions and 21 deletions

View File

@ -40,31 +40,11 @@
bool isBusy() Интеллектуальная проверка движения. Возвращает true, если мотор еще выполняет команду или если вал вращается. bool isBusy() Интеллектуальная проверка движения. Возвращает true, если мотор еще выполняет команду или если вал вращается.
🧭 Примеры использования
Возврат в абсолютный "0" (Bang-Bang Control)
Если нужно вернуть мотор точно в ту точку, где он был при включении, используйте этот алгоритм в основном коде:
C++
long current = motor.readAbsolutePosition();
// Выбираем направление: если мы в плюсе, едем назад (-40), если в минусе — вперед (40)
int16_t targetSpeed = (current > 0) ? -40 : 40;
motor.run(targetSpeed);
while (true) {
current = motor.readAbsolutePosition();
// Условие выхода: пересечение нулевой отметки (с допуском 10 импульсов)
if (targetSpeed < 0 && current <= 10) break;
if (targetSpeed > 0 && current >= -10) break;
delay(10);
}
motor.stop();
⚠️ Технические заметки ⚠️ Технические заметки
Протокол: Команды передаются пакетами с проверкой CRC8 (сумма байтов). Протокол: Команды передаются пакетами с проверкой CRC8 (сумма байтов).
Скорость: Оптимальная скорость работы UART — 38400 или 115200 бод. Скорость: Оптимальная скорость работы UART — 38400 бод.
Лимиты: Команда rotateDegrees имеет внутренний лимит прошивки на максимальное число шагов за раз. Для очень больших перемещений (сотни оборотов) используйте метод run(). Лимиты: Команда rotateDegrees имеет внутренний лимит прошивки на максимальное число шагов за раз. Для очень больших перемещений (сотни оборотов) используйте метод run().