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