Chi Ller Ответов: 2

NXT lejos позволяет 2 двигателям двигаться одновременно


Как я могу позволить обоим двигателям NXT двигаться одновременно всего одной командой?

lindam88

нет,нет,нет... ты не можешь этого сделать

2 Ответов

Рейтинг:
19

Chi Ller

Одна команда невозможна. Он просто работает со следующим кодом:

Мотор.А.вперед();
Мотор.Б.вперед();
Мотор.А.очередь(ху);
Мотор.Б.очередь(ху);
Двигатель.А. остановка();
Мотор.Б.стоп();

ху = motordegrees


Рейтинг:
0

OfficialNSA

На случай если кто то такой же сумасшедший как я и столкнется с этим в 2019 году или позже:
То

Motor.A.rotate(xy)
команда блокирует процессор, так что
Motor.B.rotate(xy)
значит, двигатель B совершает вращение xy сверху, в то время как A уже остановлен. (По крайней мере, моя система делает это...)

Мой код, я надеюсь, что смогу кому-то помочь:
Motor.A.forward();
Motor.B.forward(); //Both motors start turning
Motor.A.rotate(xy); //Both Motors turn, until A has covered the whole distance (relative)
Motor.B.stop();
Motor.A.stop(); //Both Motors halt


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