Още една питанка по темата - отново преработвам готова програма и сменям параметри, докато ми хареса резултатът, но запецнах.
Тук моторът на завиването измерва максималният ъгъл от крайно ляво до крайно дясно положение на гумите:
#steering calibration sequence
steering.run_until_stalled(500)
steering.reset_angle(0)
steering.run_until_stalled(-500)
maxAngle = steering.angle()
steering.run_target(500, (maxAngle/2))
steering.reset_angle(0)
А тук - при натискане на бутон + или - на дистанционното, завива в определената посока с 1/2 от максималния ъгъл на завиване:
#commands to steer
if Button.RIGHT_PLUS in pressed:
steering.run_target(2000, (maxAngle/2), Stop.HOLD,False)
elif Button.RIGHT_MINUS in pressed:
steering.run_target(2000, -(maxAngle/2), Stop.HOLD,False)
else:
steering.run_target(2000, 0, Stop.HOLD, False)
Питането ми е има ли начин да му "кажа" да завива с по 10 градуса по-малко от половината от максималния ъгъл в посока? Тоест - условно ъгълът от най-ляво до най-дясно, ако е 180 градуса (да речем, че толкова го е измерил), да завива не с по 90 градуса в посока, а с 80 градуса.
Пробвах с различни комбинации на скоби, знак "-" и числото 10, но програмата никак не ме "разбра". Не знам какъв е словоредът на нейния език...
Пробвах и да разделя максималния ъгъл (maxAngle/2) на 2 и нещо, но дори и това не помогна - Нито "." приема за десетична запетая, нито ","-та сработва.