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...
Steps
Part 1 of 2:
Wiring the Components
- 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)
- 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.
- 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.
- The breadboard also has a divider down the middle. The pins on the two sides of the divider are not connected horizontally.
- 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.
- 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)
- 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
- Grab a jumper wire and connect the Collector pin (left) of the PN2222 transistor to the GND (ground) pin on the 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.
- The end with the sliver line is the Negative (-) end on the 1N4001 Diode. The side without the line is the Positive (+) end.
- 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.
- 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.
- 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
- 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)
- Declare the output the pin variable for the DC Motor: const int MOTORPIN = 3; (MOTORPIN can also be anything you wish it to be)
- const int specifies that the variable MOTORPIN is a constant integer.
- 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);
- void setup() - This function runs once at the start. It will set up which pins will be used on the Arduino.
- pinMode (MOTORPIN, OUTPUT) - specifies that the pin outlined by MOTORPIN is an output pin and will not take in any data.
- Go to the loop() function. Just between the two curly braces, write following:
- 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.
- 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.
- Your code is complete.
- 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.
- 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.
- Now, using the USB cable provided with your Arduino Kit, connect your Arduino to a USB port on your computer.
- 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.
- 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.
- Once your code is uploaded, the DC motor should start spinning at the speed you specified in the code
5 ★ | 2 Vote
You should read it
- How to connect two Arduino boards using I2C
- How to install Arduino IDE on Debian 10
- How to program Arduino with an Android phone
- What is Arduino and its applications in life
- Synthesis of useful commands to code the Arduino
- How to install Arduino IDE on Mac
- Download and install Arduino on the computer
- Why is the new Arduino Uno R4 a game changer for manufacturers?
- How to install the Arduino IDE on CentOS 8
- How to add libraries in Arduino
- Download Arduino IDE 1.8.13: Great programming software for beginners
- How to Use Ultrasonic Sensors in Arduino Project