Just to clarify my question more:
- Unplug the motor from port B
- Write a program that moves forward by one rotation and adjust the configuration panel so that B is unchecked - you're only moving C forward by one rotation
- Does this work?
Now try the reverse (C unplugged, B plugged in, C is unchecked)
The reason I want you to try this is the following. If you tell the NXT to move one motor on its own, it just pays attention to that motor and does its best. But if you tell it to move two motors in tandem, then it tries to sync them - if it notices (or thinks it's noticing) one motor moving faster than the other, it will slow the faster one down. So if your NXT is confused about the speed that one of your motors is moving, this could result in weird behavior.
So here's another test: I'm going to assume that your motors are plugged into ports B&C as is the default.
- Write a program that has a single move block in it that rotates the motor in port B only (you'll have to uncheck port C in the configuration panel) forward by one rotation. Test it. Does the motor move forward exactly one rotation?
- Write another program to do the same test on motor port C only (unchecking port B). Does that motor move forward exactly one rotation?
My bet (hope!) is that one of them won't. Let's suppose B doesn't work. So now, plug the motor that's in port B into port A instead. Write the third version of the program where only port A moves forward 1 rotation (unchecking ports B&C in the configuration panel and checking port A). Does it work?
If so, then yes, your NXT brick probably is the problem, but you can probably get around the problem by using ports A&C. (Similarly, if you discover port C is bad, you'd have to use ports A&B.)
So now test - plug into A&B and try moving forward (with A&B selected) by one rotation. If it does one of the following things it's a good sign:
- Drives forward for one rotation
- Drives backward for one rotation
- Drives one wheel forwards and one backwards for one rotation
If it does #1 you're in great shape
If it does #2 you can experiment with swapping which motor is A & which is B and see if that helps
If it does #3 you will be able to use the NXT, but you'll have to do some "advanced" programming. Every time you want the motors to move forward one rotation you'll have to
- Move forward unlimited on motor A
- Move backward one rotation on motor B
- Stop motor A
Make sense? Hopefully not necessary though,
Jennie