Controlling Multiple Motors

I am working on a project for school and I need to wire 3 motors that run one after another. Motor one will turn on for ~4 seconds then turn off, then motor 2 will turn on for ~4 seconds then turn off, then motor 3 will turn one for ~4 seconds then turn off. None of the motors need to have bidirectional function. I'm pretty sure I need to use 3 different TIP120 transistors to do this with the wiring below for each one. I also am using one 12V power source to power all motors and a breadboard.

Is this the correct way to go about this? I am using an Arduino Uno and three 12V DC motors.

Yes, except for the TIP120. That's an old part, lots voltage loss across its output which results in less voltage across the motor and thus slower speed.

Better choice is N-channel MOSFET. I use parts like AOI4286, they turn full on with 5V Arduino output.
https://www.digikey.com/en/products/detail/alpha-omega-semiconductor-inc/AOI4286/4764672

Put a diode across the motor, cathode to V+, anode to the transistor.
The diode needs to support at least as much current as a motor draws when it is on.

Thanks, unfortunately I am restricted on time and cannot buy that transistor, so the TIP120s will have to do. Luckily motor speed isn't too important for my project so I think I'll be good.

samwhit34:
I also am using one 12V power source to power all motors and a breadboard.

It is not obvious why you need to “power” a breadboard.

In any case you need a 5 V supply for the UNO. If it is plugged into the PC via USB that will generally suffice.