Four wheel drive

Question: How can I make it so all four of our wheels are connected to an individual motor, while only using two joysticks on the controller to control them?

1 Like

(Sorry about deleted post, mistyped).
You may want to elaborate more - do you want to run all 4 wheels (2 on both side, I assume), with a single motor? If you do this, you will only be able to go (one of the below options, depending on your setup):
A. Straight forward and backwards.
B. Turn in a circle, CW and CCW.
To have full range of motion you’ll need 1 motor on each side. Direct drive one motor on one wheel on each side, and have a sprocket on the same shaft. Put a sprocket on the shaft with the other wheel, and chain them together.
I would recommend using a minimum of 4, really. 2 motors won’t be able to handle much load, so you might stall quite a bit.
For programming - which language are you using? RobotC has a 4WD in their Sample Programs.

I’m assuming that you mean to say “How can I make it so all four of our wheels are each connected to an individual motor, while only using two joysticks on the controller to control them?” .If you’re using RobotC, then just set the left side to Channel 3 and the right side to Channel 1. I’m pretty sure that this is in the Sample Program. I don’t even with EasyC (Pardon my language), so can someone else chime in if he is asking about how to do this in EasyC?

Generally speaking, to control different axis of motion, you need to add additional motors that are individually controller. For example, there is no simple way to create a functioning four wheel drive that can go straight and turn, using only one motor. The typical tank drive uses two individually controlled sides to control forward/back and rotational movement. If you are wondering how to connect the wheels on each side to their own individual motor you can gear them together ( like on the stock clawbot) or you can chain them together by putting sprockets on the same axles as the wheels. When gearing them together, do be concious of the direction the wheels are turning.

If you are using Robot C, and if you are using four motors on the drive, then this code would work for tank drive:

#pragma config(Motor,  port1,            ,             tmotorVex393_HBridge, openLoop)
#pragma config(Motor,  port2,   MotorL1         ,             tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor,  port9,   MotorR1         ,             tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor,  port10,   MotorL2        ,             tmotorVex393_HBridge, openLoop)
#pragma config(Motor,  port9,   MotorR2         ,             tmotorVex393_MC29, openLoop, reversed)

//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

task main()
{
      while(true)
      {
              motor[motorL1] = motor [motorL2] = vexRT[Ch2];
              motor[motorr1] = motor [motorr2] = vexRT[Ch3];
       }
}

Thanks bros

@Inventer_bots
what app is that called? im trying to put 1 motor to contral all 4 wheels of the vex iq robot.
@All I need help!

First off, please don’t revive old threads. Second, as he quite clearly explains, the program being used is RobotC.