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 = 0;         // 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
  motor.setSpeed(200);
 
  motor.run(FORWARD);}
else {
  motor.setSpeed(0);
 
  motor.run(RELEASE);
  }
}

Read More:  How to build a Arduino Robocar




Clip to Evernote

Leave a Comment

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

Close
Scroll to top