If you’ve been working with the Arduino, you probably know how often it is required to use a motor with it, especially in robotic projects. In one of our previous tutorial, we learned how to control small motors with a transistor, but what if you want to control a much bigger one? The answer for your need is a MOSFET. According to Wikipedia, a MOSFET is:
A type of field-effect transistor (FET). It has an insulated gate, whose voltage determines the conductivity of the device. This ability to change conductivity with the amount of applied voltage can be used for amplifying or switching electronic signals.
In other words, a MOSFET is just a type of transistor that has a Gate instead of a Base (as compared to the bipolar transistor) and this Gate is isolated so it is much safer to use with the Arduino. There is more behind the MOSFET which we won’t cover in this session. We are going to use the IRF44N MOSFET, a really cheap and popular field effect transistor.
Here is the list of parts we will need for this project:
- 1 x Arduino Uno board
- 1 x IRF44N MOSFET
- 1 x 775 motor (or other)
- 1 x Breadboard
- 1 x jumper wires
- 1 x 12V power supply
You can use any other transistor, just check out its pinout and datasheet to make sure that it can be used with the rating needed for this project.
If you have all of the components that we need, you can connect them together using the schematic below.
To power this circuit, we need an external power supply of 12V but a 9V should be ok as well. You can connect it to Arduino with the DC jack.
It is very useful to use cables with crocodile clips to connect jumpers to the motor, they will hold safely and help you avoid soldering.
We can use the analogWrite function to control the motor speed with a PWN signal.
If you use a relay to control your motor, you would not be able to control it with the PWM signal. Relays responses will be too slow for such applications.
The code will increase the motor speed, will slow it down and do that over and over again. Here is the code:
As you can hear, when it is not moving it makes odd sounds. That’s because of the current that flows through the motor coils.
And here we go! Don’t hesitate to drop a comment below in case you need further information about this project.
Feel free the check other projects here.
You might also like:
- Arduino hx711 tutorial
- Arduino magnetic switch
- Best Arduino Kits
- gifts for engineering students
- gifts for engineers
- mpu6050 Arduino projects
- Current sensor Arduino
- Soil Moisture Sensor With Arduino
- Arduino Count up Timer Using the Nokia 5110 LCD
- Arduino Yun: Integrating or Juxtaposing Arduino with Linux
- Arduino Projects: Line Follower Robot
- Arduino RFID Projects
- Which Arduino Should You Buy
- What Can You Do With Arduino Boards?
- Great Alternatives to the Arduino Microcontroller
- Arduino Projects: Color Sensor
- Arduino IDE Alternatives
- Arduino Mega vs. Uno
- Arduino Projects: Arduino LCD Display
- Read Arduino Rotary Encoders
- A Selection of the Best Arduino Simulators
- Arduino Projects: IR Receiver
- Arduino Light Sensor Project
- Arduino Projects: Arduino Decibel Meter
- Arduino Stopwatch Project
- Arduino Bluetooth RC Car Project
- Arduino Temperature Logger Project
- Arduino Projects: Arduino 7 Segment Display
- Arduino Projects: Clap ON Clap OFF Light
- Arduino Relay Project
- Install a Library Onto the Arduino IDE
- Arduino Projects: Rainfall Detector
- Arduino Projects: RGB LED Arduino
- Arduino Stepper Motor Project
- Arduino Projects: Arduino DC Motor Control
- The Top Affordable Arduino Robot Kit
- Arduino 3D Printed Case
- Arduino Projects: Asynchronous LEDs Blink
- Arduino Projects: Ultrasonic Distance Sensor
- Arduino Projects: LED – 4X4X4 LED Cube
- Arduino Car Projects: Build an Obstacle Avoiding Robot With Less Than $30
- Arduino Projects: Servo Potentiometer Control
- Arduino LED Project: Knight Rider
- Arduino Projects: PIR Motion Sensor
- The Difference between Arduino and Raspberry Pi
- Top 9 Books Every Engineer Should Read
- Top Used Sensors for Arduino
- First Hand on the Arduino Uno Board