How to build an Arduino Robocar Part 1

I’ve been meaning to put some content on here for a while and recently I got around to getting an Uno and motor shield. Given I also have access to a 3d printer and have a shedload of microswitches, semis and other goodies knocking around – Robocar is an obvious choice!

I’ve had a few Arduino’s in the past but have always used them as an ISP to write to AVR instead of just embracing the Arduino eco-system. I’m over that nonsense now and will be learning as I go.

The plan

A four-wheeled car type thingy which drives two rear wheels and steers with two front wheels.

For starters, I want to make it go forward until it hits an obstacle detected by a front-left & front-right µswitch-bumper system. At that point, it will reverse/turn around 90 degrees and go forward again.

The parts

How to build a Arduino Robocar

The code

I’ve hacked together some of the example sketches from the Arduino IDE to get a small motor to run when input A5 on the Uno goes high.

// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!
#include <AFMotor.h>
AF_DCMotor motor(4);
const int buttonPin = A5;     // the number of the pushbutton pin
// variables will change:
int buttonState = ;         // variable for reading the pushbutton status
void setup() {
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn on motor
else {

Read More:  How to build a Arduino Robocar

This Post / Project can also be found using search terms:

  • arduino project robocar

Leave a Comment

= 5 + 3

(Spamcheck Enabled)

Read previous post:
SIMPL Revisited - Again, but this time it's personal
SIMPL Revisited – Again, but this time it’s personal

In May 2013, I learned about Ward Cunningham's Txtzyme language - a very simple serial command interpreter which allowed basic...

Scroll to top