My mBot drives backwards instead of forwards


#1

What can be the problem? I have also updated the firmware.


#2

Did you plug the cables correctly into the board? Maybe you inserted them the wrong way?


#3

As @Andreas notes, you likely have the cables to the motors in the wrong ports. Try switching them and your problem should be corrected.

Some general notes on motors:

  1. Both motors turn in the same direction based on current flow. To get the mBot to drive forward, one motor has to turn in the opposite direction so in the library code for mBlock and for the Arduino mode, Makeblock negates the value sent to the motor that needs to run backwards.
  2. The motors do not have encoders and are not stepper motors so unless you change them out, you will need to determine the time it takes to cover a specified distance at a particular speed.
  3. Turns fall under similar rules where you can either make a steering turn where the outer wheel move faster at a particular multiple of the inner wheel or a tank turn where the wheels move in opposite directions.

I wrote a short eBook based on a class I teach that has a couple of movement exercises for straight movement and turns to try to illustrate what’s going on. It’s inexpensive and all proceeds go to fund kids robotics.


#4

Thanks, my mBots are working fine! My students have amused themselves with it.


#5