Fareed Mohmed← All projects

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.

1Choose your Arduino board
2Build the circuit
Parts: sensors and actuators (tap to show or hide)

Try the inputs (virtual sensors)

Pins (you can change them)

PartArduino 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.

#ColourFrom (part and leg)To
3Define the sequence

Steps run from top to bottom, then start again. While the simulation runs, the active step is highlighted in green.

4Arduino code

5Parts list and where to buy

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.

#ItemQtySearch termBuy / compare
6Export

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.

7Learn: do’s, don’ts, cautions and tips

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.