You are on page 1of 15

Window Painting Robot (arduino, processing, accelerometer)

What I think is so enticing about this design is the wide applicability. It allows expression of ideas and
creativity in normally unused spaces. The real challenge is what's the biggest glass window can you find?
This also has other applications as it could clean windows, or survey the sides of buildings, draw just on
floors, etc.
The advantage of this design over a polargraph or other drawing method is that it is really easy to set up
and draw on any size of window. Later in the 'ible you will find the processing program I wrote for this,
which takes input about your window size and robot specs and lets you to draw what you would like the
robot to mark on your window; with a touch of a button it turns it into arduino code that fits in the arduino
program I have supplied, so it can be easily uploaded to the robot. Then you just put the robot on the wall
and watch it go to work! The autonomous nature of this design makes it free of wires while also not relying
on any sort of wireless connection to do its work.
I did this project with scrap VEX metal and motors I had lying around, but don't be discouraged if you don't
have those!!! It will work with any 3 wire motors (and others as well but may take minor changes to code)
and whatever materials you have available (wood, metal, plastic, etc). DO NOT be discourage, you can do
this project! I always challenge myself to build with what I have and this project cost me a total of $20 so
really not an investment.
Parts List
2x 3-wire Motors (I used vex 393 motors with motor controllers to make them 3-wire but any will do.)
1x 3-wire Servo (used to raise and lower the pen, I'm using a really small one. Size doesn't matter, in this
case.)
1x Arduino Board (I used an uno but any should work!)
2x Neodymium magnets (I got mine from magnet4less.com and went with N42 counter-bored circular
magnets 1" diam by 1/2" thick. These are the real crux of the whole project as they need to be strong
enough to hold the robot against the wall. My robot weighs 2.5 pounds and these magnets keep it easily
attached to windows up to 1" thick! Remember you can always add spacers if they are a little strong.)
1x Battery Pack (These are to power the arduino and drive the motors, I used the vex 7.2v pack but use
whatever works for you.)
4x Wheels (You can use two but I found four to be alot more precise. Whatever they are make sure they
have a rubber coating or some grippy surface.)
1x Tiny Breadboard (This is optional as you can just wire things directly to the arduino, but it help plan the
paths out.)

1x Single-Axis Accelerometer (Optional but highly recommended) I'm using one that is twenty years old so
really anything will do (they can be found online for cheap). Just remember for our application the lower
the g rating the better, mine is +-4g so anything around there will do.
Materials for the body (Use what you have!!!! Those who have a 3d printer, try making a chassis that way. I
don't have access to something like that but the lighter, the better! I used some scrap metal.)
Gears (I used vex ones, these are needed to drive wheels if you are doing a four wheeled design. People
with 3d printers can make their own but for those without access lego gears are a possibility if the mounts
are drilled out. Be creative!)
Window Markers!
Random bits of wire/screws to hook everything up.
MEMS ACCELEROMETER BASED HEAD GESTURED CONTROLLED FIRE FIGHTING ROBOT
The main aim of this project is to develop a most secure access control system to operate a robot by using
MEMS based accelerometer with firefighting system. MEMS is a Micro Electro Mechanical Sensor which is a
highly sensitive sensor and capable of detecting the tilt. This sensor finds the tilt and makes use of the
accelerometer to change the direction of the robot depending on tilt. For example if the tilt is to the right
side then the robot moves in right direction or if the tilt is to the left side then the robot moves in left
direction. Robot movement can be controlled in Forward, Reverse, Left and Right direction. This robot can
be

also

used

to

extinguish

the

fire.

This device is portable and this system operation is entirely driven by wireless RF technology. User can
wear it to his head and can operate it by tilting the MEMS Accelerometer sensor.
RF Communication ranges in between 30 KHz to 300 GHz. RF communication works by creating
electromagnetic waves at a source and being able to pick up those electromagnetic waves at a particular
destination. These electromagnetic waves travel through the air at near the speed of light. The wavelength
of an electromagnetic signal is inversely proportional to the frequency; the higher the frequency, the
shorter the wavelength.
This project makes use of a micro controller, which is programmed, with the help of embedded C
instructions. This microcontroller is capable of communicating with transmitter and receiver modules. The
MEMS based sensor detects the tilt and provides the information to the microcontroller (on board
computer) and the controller judges whether the instruction is right movement or left movement
instruction and controls the direction respectively. The controller is interfaced with two dc motors to control
the direction of the robot.
The main objectives of the project are:
1.

Wireless controlling of a Robot.

2.

Controlling the movement of Robot by head gestures.

3.

Voice enabled control.

4.

Fire fighting system.

This project provides us with the learnings on the following aspects:


1.

MEMS accelerometer.

2.

Interfacing Motors with Microcontroller.

3.

Interfacing MEMS with Microcontroller.

4.

Embedded C programming.

5.

RF technology.

6.

Interfacing of RF transmitter and receiver to Microcontroller.

7.

7.

Voice circuit.

The major building blocks of this project are:


1.

Regulated Power Supply.

2.

Microcontroller.

3.

MEMS Accelerometer sensor.

4.

RF transmitter and receiver modules.

5.

Encoder and Decoder.

6.

Reset.

7.

7.

Crystal oscillator.

8.

8.

DC motors with drivers.

9.

9.

LED indicators

Softwares used:
1.

PIC-C compiler for Embedded C programming.

2.

PIC kit 2 programmer for dumping code into Micro controller.

3.

Express SCH for Circuit design.

Building a Maze Solving Robot My Experiences


This year (2001), my parents have assigned me the task of doing a science fair project. After many many
brainstorming ideas, Ive finally settled on the idea of a project about maze solving robots and algorithms. I
read Robot Science and Technologys article about the C* algorithm, with just a little bit of confusion. After
3 readings I still dont get it, so I decided Id better start off simpler. Ive also played around with Maze
Bots, and read over their listings of algorithms. After much deliberation I finally decided on 3 different
algorithms to do a project on:
This year (2001), my parents have assigned me the task of doing a science fair project. After many many
brainstorming ideas, Ive finally settled on the idea of a project about maze solving robots and algorithms. I
read Robot Science and Technologys article about the C* algorithm, with just a little bit of confusion. After
3 readings I still dont get it, so I decided Id better start off simpler. Ive also played around with Maze
Bots, and read over their listings of algorithms. After much deliberation I finally decided on 3 different
algorithms to do a project on:
1. Random solving
2. Left/Right wall following
3. A branching search pattern where you return to the last branch after a dead end.
Random Algorithm
This is by far the simplest way of solving a maze. Mind you know, I didnt say best or shortest or fastest,
but simplest. You simply have your robot run around making a random decision to turn or not when it
encounters a opening to the left or right. The only

problem with this, as I mentioned above, is that I will be slow, and there is a good possibility that the robot
will not find the exit in
the time allotted. I.E. Your robot could wander for hours always taking the wrong turns. Needless to say, it
is probably well worth it to invest some programming time into a better algorithm if you are looking for
speed or accuracy.
Left/Right Algorithm
Ahhh the amateur roboticists favorite. The whole principle behind this algorithm is that you can solve
any continuous, i.e. no islands, maze by following either the right hand or left hand wall. This will always
get you out, unless the finish is is a island,
like the picture below.

In the above maze, a robot using the left/right wall following algorithm would never reach the exit. This
algorithm is just slightly more complex to code, but its benefits over the random algorithm are large.
Simply have your robot turn to the left (or right)
whenever it encounters a doorway. Again, the downside of this algorithm is speed. One wall may continue
for a long way before reaching the end.
Branch And Return Algorithm
Branch and return is simply a name that I made up. Im sure there is some technical name, but for now
that name will do. This
is the most complex out of the three that I have chosen for my project. The principle behind this algorithm
is that by exploring each branch of the maze you will eventually find the exit. This algorithm requires that
you remember when you come to a branch, and begin to record your steps from that branch. After
exploring that branch and you come to a dead end, you simple follow your path back to the original branch
and take the next turn. This algorithm require much more coding, and some way of knowing your distance
and direction, like wheel encoders, or maybe a accelerometer and compass. The problem with this
algorithm is that the robot could fall into a endless loop. For instance suppose we had a maze that looked
like this:

If the robot is heading from the top of the maze toward a it then may decide to take a right and follow the
corridor until it reaches b, it then might turn left and reach a again, and then follow back to b, and
never realize that it is going in a circle. One possible way to combat this is to have the robot take a random
corridor when coming to an intersection. Giving the robot a degree of forgetfulness, i.e. having it forget
intersections encountered long ago, could prevent it from being caught in a very long loop.

Concrete Actual implementation


For my science fair project, I plan on running the same robot through 2 or 3 different mazes for each
algorithm, and recording its time. Personally, I tend to change my robots chassis every few months. The
biggest reason for this is that I usually have built the chassis out of legos, and/or tape. This makes for
quick ripping apart and rebuilding. Ive finally settled on a design that I think Ill keep for a while. Ive built
my latest robot chassis out of balsa wood. The main body is a 6 x 6 x 0.25 in (15 x 15 x 0.63 cm) flat
square.

Ive mounted two 4 battery packs on the back end of it, and centered two servers on either side. I secured
two 6 x 3 inch balsa
pieces together with wood glue and some reinforcing pieces of wood to form the main base. For each servo
I built a small box on the bottom that just houses the box of the servo. For wheels, Ive used two of the
large lego wheels. They can be screwed very nicely to the servo shaft, and the have a excellent grip
because of the rubber treaded tires.

In the front bottom of the base Ive mounted on of Craig Maynards BOBIRD (Brains On Board Infrared
Detectors) for central obstacle
detection. At the moment Im having a bit of trouble with the detector seeing the floor.

I also plan to place at least two more IRPD sensors on the top front for extra detection, and possible a few
on the back for reverse
detection.

For processing power Im going to use a OOPic, and possible a Basic Stamp 2. The OOPics high level
programming language makes it
much easier than the Basic Stamps dumbed down language. For distance ranging (if I ever wanted to turn
it into a firefighter) I will either mount a Sharp GPDU12 on a servo in the bots middle, for rotational
ranging, or stationary at the front of the bot, for frontal ranging. Most likely Ill also mount a breadboard on
the bot for easy prototyping (and in my case permanent circuits!). Basically, my whole chassis is held
together by Elmers and wood screws. Next month, I hope to be able to talk a bit about the code and
hardware for navigating the maze.
Path Remembering Robot

Project Developed by:Piyush Arora, Shubham Aggarwal , B.Tech E.C.E. 3rd year, Guru Nanak Dev University, Amritsar
Description:This robot is used to trace the different paths. Firstly, the drive the robot on the path to be traced manually.
This path is then saved in the microcontroller using counts. Then the same path can be traced

automatically by the robot in trace mode. There are three different modes in this robot.
1.Save path mode:- This mode is used to save the path.
2.Do not save mode:- In this mode, the path is not saved in controller.
3.Trace mode:- In this mode, the robot will trace the path saved in the controller.
Components Used:AVR Development Board, Switches, Connecting Wires
Applications:

This robot can be used whenever there is a need to drive the robot on the same path more than
once.

The robot can trace path more quickly because it does not save the stop command.

This robot can be used in robot races.

This robot can be used in the tough tracks also. First, you can drive manually then it will trace the
path faster.
Metal Detector Robotic Vehicle

he project is designed to develop a robotic vehicle that can sense metals ahead of it on its path similar to
sensing land mines. The robot is controlled by a remote using RF technology.
It consists of a metal detector circuit interfaced to the control unit that alarms the user behind it about a
suspected land mine ahead. An 8051 series of microcontroller is used for the desired operation.
At the transmitting end using push buttons, commands are sent to the receiver to control the movement of
the robot either to move forward, backward and left or right etc. At the receiving end two motors are
interfaced to the microcontroller where they are used for the movement of the vehicle.
The RF transmitter acts as a RF remote control that has the advantage of adequate range (up to 200
meters) with proper antenna, while the receiver decodes before feeding it to another microcontroller to
drive DC motors via motor driver IC for necessary work.
A metal detector circuit is mounted on the robot body and its operation is carried out automatically on
sensing a any metal underneath. As soon as the robot senses this metal it generates an alarm sound. This
is to alert the operator of a possible metal (eg: land mine) ahead on its path.
Further the project can be enhanced by mounting a wireless camera on the robot so that the operator can
control the movement of the robot remotely by watching it on a screen.

RF Controlled Robotic Vehicle with Laser Beam Arrangement


The project is designed to control a robotic vehicle by using a RF technology for remote operation. A low
power laser light is interfaced for demonstrating the possibilities of destroying a distant object by its beam.
An 8051 series of microcontroller is used for the desired operation.

At the transmitting end using push buttons, commands are sent to the receiver to control the movement of
the robot either to move forward, backward and left or right etc. At the receiving end two motors are
interfaced to the microcontroller where they are used for the movement of the vehicle.
The RF transmitter acts as a RF remote control that has the advantage of adequate range (up to 200
meters) with proper antenna, while the receiver decodes before feeding it to another microcontroller to
drive DC motors via motor driver IC for necessary work.
A laser pen is mounted on the robot body and its operation is carried out from the microcontroller output
through appropriate signal from the transmitting end. The laser light used is just for demonstration
purpose and not a powerful one.
Further the project can be enhanced using DTMF technology. Using this technology we can control
the robotic vehicle by using cell phone. This technology has an advantage over long communication range
as compared to RF technology.

War Field Spying Robot with Night Vision Wireless Camera


The project is designed to develop a robotic vehicle using RF technology for remote operation attached
with wireless camera for monitoring purpose. The robot along with camera can wirelessly transmit real
time video with night vision capabilities. This is kind of robot can be helpful for spying purpose in war
fields. An 8051 series of microcontroller is used for the desired operation.
At the transmitting end using push buttons, commands are sent to the receiver to control the movement of
the robot either to move forward, backward and left or right etc. At the receiving end two motors are
interfaced to the microcontroller where they are used for the movement of the vehicle.
The RF transmitter acts as a RF remote control that has the advantage of adequate range (up to 200
meters) with proper antenna, while the receiver decodes before feeding it to another microcontroller to
drive DC motors via motor driver IC for necessary work. A wireless camera is mounted on the robot body
for spying purpose even in complete darkness by using infrared lighting.
Further the project can be enhanced using DTMF technology. Using this technology we can control the
robotic vehicle by using cell phone. This technology has an advantage over long communication range as
compared to RF technology.

Fire Fighting Robotic Vehicle


The project is designed to develop a fire fighting robot using RF technology for remote operation. The
robotic vehicle is loaded with water tanker and a pump which is controlled over wireless communication to
throw water. An 8051 series of microcontroller is used for the desired operation.
At the transmitting end using push buttons, commands are sent to the receiver to control the movement of
the robot either to move forward, backward and left or right etc. At the receiving end three motors are
interfaced to the microcontroller where two of them are used for the movement of the vehicle and the
remaining one to position the arm of the robot.

The RF transmitter acts as a RF remote control that has the advantage of adequate range (up to 200
meters) with proper antenna, while the receiver decodes before feeding it to another microcontroller to
drive DC motors via motor driver IC for necessary work.
A water tank along with water pump is mounted on the robot body and its operation is carried out from the
microcontroller output through appropriate signal from the transmitting end. The whole operation is
controlled by an 8051 series microcontroller. A motor driver IC is interfaced to the microcontroller through
which the controller drives the motors.
Further the project can be enhanced by interfacing it with a wireless camera so that the person controlling
it can view operation of the robot remotely on a screen.

IR Controlled Robotic Vehicle


The project is designed to control a robotic vehicle using a standard TV remote. IR sensor is interfaced to
the control unit on the robot for sensing the IR signals transmitted by the remote. This data is conveyed to
the control unit which moves the robot as desired.
An 8051 series microcontroller is used in this project as control device.
Transmitting end uses a TV remote through which IR commands are transmitted. At the receiver end, these
commands are used for controlling the robot in all directions such as forward, backward and left or right
etc. At the receiving end the movement is achieved by two motors that are interfaced to the
microcontroller.
RC5 based coded data sent from the TV remote is received by an IR receiver interfaced to the
microcontroller. The program on the microcontroller refers to the RC5 code to generate respective output
based on the input data to operate the motors through a motor driver IC.
The motors are interfaced to the control unit through motor driver IC. Further the project can be enhanced
by DTMF technology. With this technology we can control the robotic vehicle by a cell phone. This
technology has an advantage over long communication range as compared to line of sight communication
in IR technology

Voice Controlled Robotic Vehicle with Long Distance Speech Recognition


The project is designed to control a robotic vehicle by voice commands for remote operation. An 8051
series of microcontroller is used together with a speech recognition module for the desired operation.
At the transmitting end using push buttons or voice commands are sent by RF to the receiver to control the
movement of the robot either to move forward, backward and left or right etc. At the receiving end two
motors are interfaced to the microcontroller where they are used for the movement of the vehicle.
The RF transmitter can take either switch press or voice commands which are converted to encoded digital
data for the advantage of adequate range (up to 200 meters) from the robot. The receiver decodes the
data before feeding it to another microcontroller to drive DC motors via motor driver IC for necessary work.
Further the project can be enhanced using DTMF technology. Using this technology we can control the
robotic vehicle by using cell phone. This technology has an advantage over long communication range as
compared to RF technology.

You might also like