В вашем коде нет колесного датчика, но я предполагаю, что ваша проблема в том, что delay
является функцией блокировки.
Самый простой способ проверить, истекло ли время без блокировки программы, это вручную проверьте, прошло ли время с момента вашей последней инструкции.Например:
void loop()
{
unsigned long previous_time = millis();
motor.speed(0, 100);
while (millis() - previous_time < 1000)
{
// do something (check the encoder for instance
}
}
Таким образом, вы сможете выполнять другие инструкции, ожидая завершения задержки.Конечно, вы можете поставить эту проверку в функцию.
Надеюсь, это поможет!