|
Want
to build your own Rumblebot? Great! Let's get started.
First, find a Rumble Robot on eBay, a thrift store or a yard sale.
You can get them for $5 - $20 each.
You will also need an Arduino
micro controller, a Parallax
PING sensor,
an LED, a micro switch and a 100 ohm resistor.
You can buy an Arduino for about $30 from many suppliers.
Click
here
for a list of world wide sources.
The
Parallax PING sensor is an ultrasonic device
that can sense distance. They are made by Parallax,
a very
good source for robotics supplies. You can purchase one directly from
Parallax or from Radio Shack for about $30.
You will also need the Arduino
software
and a computer with a USB port to upload code to the Arduino.
You can write the code yourself, or simply use some free code I've made
available. Open the link below, copy the text and past it into a new
window in the Arduino software. Save the sketch as "rumblebot ping bump. Get
the code here.
Now
let's get inside the robot and get to work.
First,
let's look at the pin outs on the main board inside the robot. You
can gain access to this circuit board by removing a small screw on the
back of the robot's head. It's located at the bottom near the base as
seen in photo # 1 below.After
removing the screw, slide the head forward to release it from a
retaining tab located at the front. In photo # 2 we remove the white
connector from the circuit board and set the head aside for
now.
In photo # 3 , you can see the "black blob" micro controller soldered
to the circuit board.
The main pins we're concerned with are the four that operate
the drive motors. They are connected to an on board "H-bridge"
which will allow us to trigger the motors to rotate forward
or reverse, by applying a positive voltage to one of two wires for each
motor. One for forward, one for reverse, on EACH motor.
They are connected as follows:
Pin 1.0 Left motor FORWARD
Pin 1.1 Left motor REVERSE
Pin 1.2 Right motor FORWARD
Pin 1.3 Right motor REVERSE
In
photo # 4 we see the ground wire which is connected to the pin I've
labeled in the photo on the white connector and the other four wires
soldered in place.
Following
the schematic in photo # 5,(click
here for a PDF
of
the schematic) wire everything
together. Make your wires
at least 5" in length to make it easier to mount everything up.
Now
we need
to mount the PING sensor, bump switch and Arduino. I gutted the head on
mine and mounted it there. LOTS
of work, but it sure looks cool!
To save time you can simply mount everything on top of the chassis
where the head used to be and mount the bump switch on the front. I
used a micro switch and glued on some pieces of wire from a paper clip
as whiskers.
The whiskers on the switch should extend left and right the
same
width as the robot. Add one more whisker pointing down close to the
floor. These will help the bot avoid anything that might not
return an echo from the PING
sensor.
Make sure the PING sensor
points towards
the front and is at 90 degrees to the floor.
The
LED connected to pin 13 blinks each time the PING scans and it can
mounted anywhere you
like.
The power switch is optional and simply goes in line on the positive
battery lead. Finally, install 4 AA batteries in the battery
compartment on the
bottom of the robot.
Now
that
everything is assembled, we're ready to upload some code to the Arduino.
Connect the USB cable to your computer and plug the other end into the
Arduino's USB port. Set your robot on a riser so the wheels don't touch
anything and power up the Arduino. Open the Arduino software, open the
sketch you saved
called "rumblebot
ping
bump" and upload the code.
After it's
uploaded, power down the Arduino, disconnect the USB cable, set the bot
on the
floor and
power up the Arduino. It should start to drive forward with the LED
blinking. As it gets within 30 cm of and object, it should turn away
and keep driving forward. If it hits and object and triggers the bump
switch, it should stop, reverse it's direction and turn, then proceed
forward.
Watch
the video
tutorials below.
Have
Fun and see you
at the Maker Faire!
.
|