README
This commit is contained in:
parent
2a40402a54
commit
aad9919ed0
22
README.md
22
README.md
|
|
@ -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().
|
||||||
Loading…
Reference in New Issue