Инвертирование двигателя MakeCode EV3 не работает с motor.xx.tank

Я использую бета-код MakeCode для Mindstorms EV3 по адресу https://makecode.mindstorms.com/ и обнаружил проблему, которая может быть ошибкой.

Я использую блок Motor Invert, чтобы изменить направление вращения моих двигателей. Когда я проверяю результат на симуляторе, я вижу направление изменения двигателей, но когда я загружаю файл.uf2 в EV3, направление вращения двигателя не меняется. Я попытался установить для параметра "перевернутый" значение "включено" и "выключено", и я вижу, что это влияет на симуляцию, но не на физического робота.

Я попытался изменить выходные порты EV3, но это не помогло.

Вот Javascript-версия моего кода.

brick.buttonUp.onEvent(ButtonEvent.Pressed, function () {
    brick.setStatusLight(StatusLight.Green)
    motors.largeB.setInverted(true)
    motors.largeC.setInverted(true)
    motors.largeBC.tank(50, 50)
    sensors.touch4.pauseUntil(ButtonEvent.Pressed)
    motors.stopAll()
})
brick.setStatusLight(StatusLight.GreenFlash)

Есть ли проблема с тем, как я меняю направление вращения?

В качестве теста я попытался заменить motors.xxxx.tank на motors.xxxx.run, а затем он изменил направление вращения на симуляторе и физическом роботе.

motors.largeB.run(50)
motors.largeC.run(50)

1 ответ

Решение

Спасибо за сообщение об этой ошибке.

Это действительно похоже на то, что блок бака не учитывает перевернутое состояние двигателей.

На данный момент вы можете использовать: motors.largeBC.tank(-50, -50) поменять местами двигатели, используя блок бака.

Я подал ошибку с нашей стороны, чтобы отследить эту проблему. Спасибо!

Другие вопросы по тегам