Arduino project · Motors and movement · Medium
Joystick Controls a DC Motor
Push the joystick up for forward, down for reverse. The middle position stops the motor.
What you will learn
- How a joystick gives two analog values
- How map() makes a signed speed from 0 to 100
- How the driver handles direction
How it works
The up-down axis gives a value from 0 to 100 with the middle at 50. The map step turns it into a speed from minus 100 (full reverse) to plus 100 (full forward). At 50 the speed is 0.
Try this next
- Add a dead zone around the middle so the motor does not creep.
- Use the left-right axis to steer a second motor.
- Add an LED for the direction.
The simulator program and explanation on this page are original. The idea follows a classic Arduino project that students have built for years.
Parts: sensors and actuators (tap to show or hide)
Try the inputs (virtual sensors)
Pins (you can change them)
| Part | Arduino pin (change it here) | How to wire it |
|---|
Every wire, one by one
Red rail = 5 V from the Arduino 5V pin. Black rail = GND. The coloured wires carry signals. Match the wire colours on the drawing to this list.
| # | Colour | From (part and leg) | To |
|---|
Steps run from top to bottom, then start again. While the simulation runs, the active step is highlighted in green.
Quantities come from the parts you added. The store links open a search for that item on Robu.in, Amazon.in and ThinkRobotics, so you always see what is in stock today. Check the model, voltage and price before you order.
| # | Item | Qty | Search term | Buy / compare |
|---|
The PDF has the circuit sketch, pin table, every wire, sequence, full code, the parts list with store links, do’s and don’ts for each part, and the safety notes. The project file lets you come back and keep editing.
In the real world
A motor that turns both ways
The motor driver sets the speed and the direction. In the real scene the blades speed up or slow down, and spin backwards for a negative speed.
Tip: use the gold tab at the bottom of the circuit drawing to pull the real-world view up over the Arduino board. Your parts stay visible above it, so you can press a button and watch the real scene react.
- Motor driver = speed and direction of the motor