Online store
Welcome
About us
Simple robot projects
Cool links
qualify as a passing
grade.
Ray 1 is supposed to demonstrate the basic version of a
'line tracker' robot. In the event that a student was
assigned the task of making a line tracker, Ray 1 would
The control board
View of the top
View of the bottom
1 Breadboard
2 Motor drive
3 Microprocessor
4 Oscillator
5 Voltage regulator
6 Wire
7 Capacitors
8 Resistors


                                                             8   1
                      4
                       3        2
 5                                        6
           7
9 Chassis
10 4.5v Battery pack
11 9v Battery connector
12 Drive motor
13 Wheels
14 Ball caster
15 Proto board
16 PCB stand-offs


                             9


                 10


                  11
                               
                              13
                               12


                                              16

  14                                     15
Building a simple robot: (All of these parts are available in Tin Man Robotics)

The first and most critical point is to have a rough idea of what the final robot will look like.
Drive: In this example we knew we were going to use a 'wheeled differential drive'. That means that there
would be two wheels, and each would have a motor. Steering would be controlled by changing the speed
at which one of the motors turned. Alternatives would be tracked differential drive (like a tank), single
motor drive with steering (like a rear wheel drive car), or a variety of walking robots. Walking robots are
beyond 'simple', but there are kits available, or instructions if you want a challenge.
Control: The 'brain' of your robot can be simple, or complex. We chose a Programmable Integrated Circuit,
or PIC. This is a well established option.
Sensors: The task you assign to your  robot will dictate which sensors you put on it. We chose a simple
line follower robot. So we chose 2 photo sensors to distinguish the dark line from the light back ground.
Overall: Knowing the purpose of the robot we chose a pair of drive motors and wheels appropriate for
the 'table top' size. Also, differential drive requires a third point of contact with the table, for which we
picked the ball caster. Then we picked a bread board to mount our electronic components on, and a
battery pack for the motors. Those major components dictated the size of the chassis. In order to have a
plan we decided to make our robot sting ray shaped, giving us an overall shape plan, including a space to
mount sensors.  And so, RAY1 is conceived.

Construction:
Chassis (9). With an idea of the overall shape, and the size dictated by the chosen components, the
material for the chassis had to be chosen. Aluminum is great if you need to bend the chassis or need
strength and rigidity. Plastics are generally easy to work with. In the plastics category...
Acrylics are rigid and strong, and look cool. But they are brittle and can snap during drilling/ cutting. And
worked surfaces are opaque, so stand out on the clear background. So they are not a very good choice
for a first or simple robot.
Sheet Styrene is good in most categories. It is available at Tin Man or in model stores, like for model
trains. It generally cost more than other sheet plastics.
PVC has good strength and is easy to work, and is cheap. But it never looks clean or 'cool'.
ABS sheet is soft and bends under load, but it is easy to cut/ drill and has a good finish. Plus it is easy to
glue extra ABS parts together using ABS cement from a hardware store/ plumbing dept.
Polyethylene has a good finish, and good strength, and is available in nice blocks. But it cannot be
painted or glued.
We had some ABS 1/8 inch sheet left over so that was our material of choice. In planning the shape we
counted on the breadboard to add rigidity to the ABS between the motors, overcoming that deficit.

Motors / wheels (12/ 13). Since this is a table top robot we went with the Tamiya planetary gear and the
'Narrow wheel/ tire set. It is great in terms of power/ weight, compact foot print, and we wanted the wheel
to be coaxial to the motor. Also it is very nice that the Tamiya wheels mount simply to the motor shafts.
Wheel mounting is a common headache for robot builders. Other options are the less expensive Tamiya
gear boxes, generic motors and RC car wheels, or taking apart a cheap, used toy from the swap meet, etc.
We mounted the motors to the chassis using a pop riveter. It's cheap, easy and a very strong connection.
One critical point is to make sure the axles are parallel. It helps to draw a straight line all the way across
the robot chassis and drill the mounting holes on the line. If the motors are not parallel, the robot will
never travel in a straight line.
In the back of the robot we put a ball caster (14). The robot needs to have three points touching the table
to be stable. This can be a ball caster, a glide on a post, even a spring loaded tooth brush. It just needs to
be free to move in any direction. The ball casters only cost 2 for $6, so seemed a fine choice.

Breadboard (9). You will need a place to connect the controller to the motors and sensors, and numerous
other items. The two common choices are a breadboard as pictured, or protoboard (15). You solder
components to protoboard so it is difficult to change once done. On the other hand protoboard is much
lighter than a bread board, if weight is important in your design. Since RAY1 will likely be modified many
times in its life we chose a bread board (that and the added rigidity mentioned before). You can also have
PCB's made for you online at  a number of sites, but that is beyond 'simple'.

Micro controller and motor drive IC (2 & 3). The 'brain' of your robot is the electronics that decide what
happens based on sensor input. It can be done with basic digital circuits (and gates, flip flops, etc), but a
microprocessor is much more versatile and capable.  There are many ICs to consider and the differences
are too much to consider here, but some of the main considerations are:
Programming language: Hobby robotics are usually (but not exclusively) written in versions of either
Basic, or C/ C++. If you are not familiar with programming, Basic is probably the 'simple' choice.
I/O pins: The Input/ Output pins are the ICs connections to sensors and motors or servos. The number
you need may dictate which IC you can choose.
Cost vs simplicity vs support: PIC chips from microchip are old standards of hobby robotics. There are
many sites and educational resources that have info on their projects referencing PIC chips. Also the
chips are cheap, about $3~$10. However getting your program from PC to chip requires a programmer
module. These can be expensive. Basic Stamp microprocessors by Parallax were created to avoid the use
of a programmer. They can be programmed directly from a serial or USB port. They have become very
popular among hobby robotics and have a good, expansive support base. However the chips are
expensive, $50 or more. PIC AXE is a relatively new creation. It is programmable directly from a serial
cable like the Basic Stamp, and only a little more costly than PIC chips. However as they are new there is
little support or examples online. All three of the these are programmed in versions of Basic, so they are
our recommendations. Other options are Atmel's ATMega8, or Motorola processors. These are often
programmed in versions of C if you are familiar with that programming language.
For RAY1 we chose the PIC16F84A (3), a common standard Programmable IC.
The microcontoller itself cannot drive a motor. There is too much current required. So a motor drive IC is
needed (2). Common ICs available include Texas Instrument's SN754410NE. This is a good chip to run 2
low current (1 amp) motors like the Tamiya gear motors. This was our choice for RAY1. Other good options
are the Toshiba TA8080 which is a little more durable, or motor driver modules which can handle higher
currents.

Batteries. In RAY1 we have two battery packs. There is a 3x AA box (10) to run the motors. So its
connections go to the motor drive IC. Motors can draw a lot of current and cause the battery voltage to
fluctuate. The fluctuation can cause havoc with the microprocessor. So we added a 9 volt battery (11)
which connects to a 5 volt regulator (5). That 5 volts runs the microprocessor. We also put a capacitor (7)
between the 5v line and ground as a filter.

At this point the robot is ready to move in a preprogrammed motion. It doesn't have any sensor input so it
is hardly a true robot, but it is still exciting to see it dance across the table.

Sensors. In order to make RAY1 a line following robot we added a piece of protoboard in the front, held
down from the chassis by two PCB standoff pegs. On the protoboard we mounted two QRD1114 LED/photo
transistor packages. The photo transistors detect the transition from the dark line to the light
background. By running the current through the phototransistors and some variable resistors we can
adjust the voltage level so that it is logic high on the black tape, logic low on the black background.
Those voltage levels can be an input to the microprocessor.
The microprocessor program is changed to monitor the input from the phototransitors, and decides
which motors to run. See the code below.
That is a simple robot.

Other considerations.
(4) Oscillator. The PIC chip needs an oscillator and 2 small capacitors in order to run. They just need to be
put in the correct place.
(6) Wire. Stranded wire is best for running from the bread board to motors or sensors. It doesn't fatigue
from vibration. Solid core wire is good on the bread board as it's easier to insert.
'****************************************************************
'*Name    : LINE FOLLOW.BAS                                     *
'*Author  : K B ONEAL                                           *
'*Notice  : Copyright (c) 2007 [select VIEW...EDITOR OPTIONS]   *
'*        : All Rights Reserved                                 *
'*Date    : 7/11/2007                                           *
'*Version : 1.0                                                 *
'*Notes   : LINE FOLLOWER CONTROL FOR RAY 1                     *
'*        :                                                     *
'****************************************************************

'RAY 1 IS A DIFF DRIVE TABLE TOP ROBOT. TWO QRD1114 SET 7MM APART
'ARE TO TRACK BLACK ELECTRICAL TAPE. AS LONG AS BOTH READ NO INPUT (LOGIC 1)
'THE ROBOT WILL FORWARD BOTH WHEELS. LEFT SIDE REFLECTION (LOGIC 0) WILL STOP
'RIGHT MOTOR. RIGHT SIDE REFLECTION (LOGIC 0) WILL STOP LEFT MOTOR.
'NAME PINS, PHL/R = PHOTOTRANSISTORS, ML1/2 MOTOR LEFT F/R , MR1/2 MOTOR RIGHT F/R

SYMBOL PHR = PIN6
SYMBOL PHL = PIN7
INPUT PHR
INPUT PHL
SYMBOL ML1 = 2
SYMBOL ML2 = 3
SYMBOL MR1 = 4
SYMBOL MR2 = 5


RESET:
LOW ML1
LOW ML2
LOW MR1
LOW MR2

PAUSE 2000
              
FORWARD:
      HIGH ML1
      HIGH MR1
      PAUSE 1
      IF PHR=0 THEN GOLEFT
      IF PHL=0 thEN GORIGHT
      LOW ML1
      LOW MR1
      PAUSE 1
      IF PHR=0 THEN GOLEFT
      IF PHL=0 thEN GORIGHT
      HIGH ML1
      HIGH MR1
      PAUSE 1
      LOW ML1
      LOW MR1
      IF PHR=0 THEN GOLEFT
      IF PHL=0 thEN GORIGHT     
      GOTO FORWARD

GOLEFT:   
      LOW ML1
      HIGH MR1
      PAUSE 3
      LOW MR1
      PAUSE 2
      IF PHR=1 THEN FORWARD
      HIGH MR1
      LOW MR1
      GOTO GOLEFT

GORIGHT:  
      HIGH ML1
      LOW MR1
      PAUSE 3
      LOW ML1
      PAUSE 2
      IF PHL=1 THEN FORWARD
      HIGH MR1
      LOW MR1
      GOTO GORIGHT
      
GOTO RESET        
          
END