
Driving a Motor — SIK Circuit 12
Consignes
Parts & Introduction
Parts & Introduction
DC motors draw too much current for an Arduino pin to drive directly. A transistor acts as an electronic switch — a small signal from the Arduino controls a larger current flowing through the motor. The flyback diode protects against voltage spikes when the motor turns off.
Parts Needed
- 1x Arduino Uno + USB cable
- 1x Breadboard
- 1x DC Motor
- 1x NPN Transistor (P2N2222A)
- 1x Diode (1N4148)
- 1x 330Ω Resistor
- 6x Jumper Wires
Matériaux pour cette étape :
SparkFun Inventor's Kit - V3.21 kitOutils nécessaires :
Computer with Arduino IDEHardware Hookup
Hardware Hookup
Wiring Instructions
Transistor pinout (flat side facing you, pins down): Collector, Base, Emitter (left to right).
- Place the transistor in the breadboard.
- Connect Base (middle pin) through a 330Ω resistor to Arduino Digital Pin 9.
- Connect Emitter (right pin) to GND.
- Connect Collector (left pin) to the motor's black wire.
- Connect the motor's red wire to 5V.
- Flyback Diode: Connect the banded end (cathode) to 5V, the other end (anode) to the motor's black wire.
Matériaux pour cette étape :
Geared DC Motor1 pièce
Breadboard1 pièce
Jumper Wires6 piècesArduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
Matériaux pour cette étape :
Arduino Uno R31 pièceOutils nécessaires :
Computer with Arduino IDETest & Experiment
Test & Experiment
What You Should See
The default serialSpeed() function lets you type speed values (0-255) into the Serial Monitor to control motor speed in real time.
Troubleshooting
- Motor not spinning: If you sourced your own transistor, double-check the pinout — many NPN transistors have reversed pin orders compared to the P2N2222A.
- Motor won't start at low values: Below ~50, the motor doesn't have enough torque to overcome friction. This is normal.
- Connection issues: Try unplugging and re-plugging the USB cable.
Experiments to Try
- Uncomment
motorAcceleration()to see smooth speed ramping. - Add a potentiometer to control speed with a knob instead of serial input.
- Add a button for on/off control.
Matériaux
8- SparkFun Inventor's Kit - V3.210 % de commission1 kit€92.69
- à partir de€2.23
- à partir de€8.32
- à partir de€3.64
- à partir de€23.68
- 1 pièceEspace réservé
- 1 pièceEspace réservé
- 1 pièceEspace réservé
Outils requis
1- Espace réservé
CC0 Domaine public
Ce blueprint est publié sous CC0. Vous êtes libre de copier, modifier, distribuer et utiliser ce travail pour tout usage, sans demander la permission.
Soutenez le Maker en achetant des produits via son Blueprint où il perçoit une Commission Maker définie par les Vendeurs, ou créez une nouvelle itération de ce Blueprint et incluez-le comme connexion dans votre propre Blueprint pour partager les revenus.