motor speed

Is there anyway to change the motor speeds for the driver control?

I am using EasyC V4. I want to decrease the speed a little, and wanted to know how to do this, if possible?

Thanks for any help

when entering the joystick to motor block select the field without anything in it under 127, 0, -127 and enter a speed between 127&0 or -127&0 for intermediate speeds. Same thing goes for autonomous mode.

There is not a speed field for -127 to 127 in the supplied EasyCV4 JoysticktoMotor block. There is one in the JoystickDigitaltoMotor, but that is not usually used for driving.

This post
is a similar answer for EasyCV2 with crystals. To change it to EasyCV4, replace the RXinput with GetJoystickAnalog.

Highly competitive teams usually go beyond the preprogrammed “tank” or even “JoysticktoMotor” commands and write their own code that adds features like these:

  • adjustable deadband, or recentering
  • minimum drive power
  • maximum drive power
  • scaling polynomial between joystick input and motor power output
  • feedback from rotation encoder for PID control

Once you drop the preprogramming, a whole world of programmable enhancement opens up for you.

I usually map the joystick value to new values. This method allows for an adjustable center and adjustable scaling.

output = (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;

where “x” is the variable to be mapped. The other variables should be self explanatory.