How to Run a Toy DC Motor by Using Arduino

One of the most basic (and fun) things you can do with an Arduino microcontroller is wire a DC motor. You can make a simple table fan or go all in and build a remote controlled car. Either way you will need to know how to actually make a...

Part 1 of 2:

Wiring the Components

  1. Picture 1 of How to Run a Toy DC Motor by Using Arduino
    Grab a jumper wire, and connect Digital Pin 3 on your Arduino to a pin of your choice on the breadboard. However, do not connect it to the Power/Ground columns on the breadboard as it will not work. (Skip to step 8 if you just want the circuit drawing)
    1. If you hold the Arduino board with the USB connector on the top, the digital pins will be on the right. Note that the digital connectors start with 0 at the bottom. Pin 3 would be the 4th one from the bottom.
    2. Place/Hold the breadboard in a way such that the two Power/Ground columns are on the leftmost and rightmost sides. Each row on the breadboard is connected horizontally and each power/ground pins are connected to one another vertically.
    3. The breadboard also has a divider down the middle. The pins on the two sides of the divider are not connected horizontally.
  2. Picture 2 of How to Run a Toy DC Motor by Using Arduino
    Connect one end (we'll call this End 1) of the 270 ohm resistor on a pin on the same row as the jumper wire that's connected to Digital Pin 3. Connect the other end (End 2) of the resistor to another pin of your choice on the breadboard.
  3. Picture 3 of How to Run a Toy DC Motor by Using Arduino
    Connect the Base pin (middle pin) of the PN2222 transistor to a pin on the same row as End 2 of the 270 ohm resistor. (This end is the one that is not on the same row as the wire coming in from Digital Pin 3)
    1. Hold the PN2222 transistor with the flat side facing towards you. The pin on the left is the Collector pin, and the one on the right is the Emitter pin. The Middle pin is the Base pin
  4. Picture 4 of How to Run a Toy DC Motor by Using Arduino
    Grab a jumper wire and connect the Collector pin (left) of the PN2222 transistor to the GND (ground) pin on the Arduino.
  5. Picture 5 of How to Run a Toy DC Motor by Using Arduino
    Connect the Positive (+) end of the 1N4001 Diode to the Emitter pin of the PN2222 Transistor. Connect the Negative (-) end on a pin on another row.
    1. The end with the sliver line is the Negative (-) end on the 1N4001 Diode. The side without the line is the Positive (+) end.
  6. Picture 6 of How to Run a Toy DC Motor by Using Arduino
    Grab a jumper wire, and connect the 5V pin on the Arduino to a pin on the same row on the breadboard where you connected the Negative (-) end of the 1N4001 Diode.
  7. Picture 7 of How to Run a Toy DC Motor by Using Arduino
    Grab the DC Motor. Connect the Positive leg to a pin on the same row as where you connected the Negative (-) end of the 1N4001 Diode.  Connect the Negative leg of the DC motor to a pin on the same row as where you connected the Positive (+) end of the 1N4001 Diode and the Emitter pin of the PN2222 Transistor.
  8. Picture 8 of How to Run a Toy DC Motor by Using Arduino
    Your circuit is now complete. Check with the circuit diagram to see if your circuit is correct. Proceed to Part 2.
Part 2 of 2:

Writing the Code

  1. Picture 9 of How to Run a Toy DC Motor by Using Arduino
    Open up the Arduino IDE on your computer. By default, it should have some of the sketch written to make everything easier:  (You can erase the comments if you wish. Step 5 has the full code)
  2. Picture 10 of How to Run a Toy DC Motor by Using Arduino
    Declare the output the pin variable for the DC Motor: const int MOTORPIN = 3; (MOTORPIN can also be anything you wish it to be)
    1. const int specifies that the variable MOTORPIN is a constant integer.
  3. Picture 11 of How to Run a Toy DC Motor by Using Arduino
    Go to the setup() function. Just between the curly braces, write the following to set the motor pin as an output pin: pinMode(MOTORPIN,OUTPUT);
    1. void setup() - This function runs once at the start. It will set up which pins will be used on the Arduino.
    2. pinMode (MOTORPIN, OUTPUT) - specifies that the pin outlined by MOTORPIN is an output pin and will not take in any data.
  4. Picture 12 of How to Run a Toy DC Motor by Using Arduino
    Go to the loop() function. Just between the two curly braces, write following:
    1. Declare the speed variable (how fast the DC motor will spin):     int speed = 255; The value for speed has to be a number from 0 to 255, with 0 meaning the motor is stopped.
    2. In the next line, send output to the pin we will use for the DC motor by using analogWrite(): analogWrite(MOTORPIN,speed); This will send the value of speed to MOTORPIN as an output.
  5. Picture 13 of How to Run a Toy DC Motor by Using Arduino
    Your code is complete.
  6. Picture 14 of How to Run a Toy DC Motor by Using Arduino
    Save the file to your computer, and verify the sketch. Go to the toolbar at the top of the Arduino IDE, and click on the check mark. This will compile your sketch so that it can be run on the Arduino.
  7. Picture 15 of How to Run a Toy DC Motor by Using Arduino
    Check the black box at the bottom of the Arduino IDE. If any errors were found, it should tell you there. If you get errors, check the lines that the compiler says the error is on. Continue if no errors are found.
  8. Picture 16 of How to Run a Toy DC Motor by Using Arduino
    Now, using the USB cable provided with your Arduino Kit, connect your Arduino to a USB port on your computer.
  9. Picture 17 of How to Run a Toy DC Motor by Using Arduino
    Go back to the Arduino IDE. Click on Tools, then on Port: and then click on COM. The will be the number of your USB "Serial Communications" port, and it will be different depending on the computer and/or the USB port. If no COM ports appear in the menu, try a different USB port, or a reboot of your computer.
  10. Picture 18 of How to Run a Toy DC Motor by Using Arduino
    Click on the Upload button (arrow pointing to the right) and upload the sketch to your Arduino. The IDE will compile your code and if no errors are found, it will send the sketch to the Arduino. If you get errors, check your code.
  11. Picture 19 of How to Run a Toy DC Motor by Using Arduino
    Once your code is uploaded, the DC motor should start spinning at the speed you specified in the code
Update 05 March 2020
Category

System

Mac OS X

Hardware

Game

Tech info

Technology

Science

Life

Application

Electric

Program

Mobile