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, если мотор еще выполняет команду или если вал вращается.
🧭 Примеры использования
Возврат в абсолютный "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 (сумма байтов).
Скорость: Оптимальная скорость работы UART — 38400 или 115200 бод.
Скорость: Оптимальная скорость работы UART — 38400 бод.
Лимиты: Команда rotateDegrees имеет внутренний лимит прошивки на максимальное число шагов за раз. Для очень больших перемещений (сотни оборотов) используйте метод run().