picture, Enter linuxastronomy.org website.

Southern California Linux Expo 2011...
Los Angeles, California.
Southern California Linux Expo 2011

=== Technical F.A.Q. ===

Robotics index.
General info (with links to many images).
Technical F.A.Q. (this page).
Robot maker's webpages and pictures info.
Robot requirements.

Q & A regarding the making of a robot.

This page describe the evolution of the robots project.
It present some tips and tricks on the making of an educational robot.

Let's start by the fine prints:

We are responsible for nothing. Absolutely nothing.

Which hardware to get ?
Feel free to use any micro-controller board who please you, as long as you feel comfortable with it and it can run using the Linux operating system.
One currently popular board, programmable using the Linux operating system is the "Arduino" board.
Arduino boards are most of the time, simple to program. Arduino boards can be programmed with little knowledge.
The current version of it, is the "Arduino Uno" (2010/11).
(see below for info and tutorials regarding the Arduino : "Where can I find information or tutorial regarding the Arduino ?").

To get started :
- 1 Arduino board, or an Arduino kit. Such as a starter, inventor... kit
from one of the company listed below (Adafruit, Pololu, SparkFun,...).


- 2-6 servo-motors, depending what your robot should be able to accomplish (maybe more).
For example :servo-motors page (pololu.com).
SpringRC SM-S4303R Continuous Rotation Servo (pololu.com).
The servo-motor suggested is a plastic gears servo-motor. It has a good enough torque to move a robot fitting in a 4x6 inches board (about 10 x 15 cm).
However, keep in mind, plastic gears servo-motors are most of the time, to be used for light duty operations.

"Regular" servos (not continuous rotation servo, most turn about 120 - 180 degree).
High-Torque Servo with Metal Gears (Generic) (pololu.com).
Power HD High-Torque Servo 1501MG has metal gears (pololu.com).
. .

- Shields for the Arduino, these parts are optional.
However, they can save you time and often make the assembly much easier (less troublesome).
But always inquire before, to be sure the shield is compatible with your version of Arduino and that it does what you wish.

Adafruit's Shields (adafruit.com).
For example :
Wingshield Screwshield (adafruit.com).
Adafruit Motor/Stepper/Servo Shield for Arduino kit (adafruit.com).
(Motors and Arduino are not included).
Adafruit Data logging shield for Arduino (adafruit.com).

- a few resistors. Example to start get a few of each, among the following values :
10, 47, 100, 150, 220, 270, 330, 470, 680, 1000 (1 kOhm), 1500, 2000, 2200, 2700, 3300, 4700, 10000 (10 kOhm),15000 22000, 33000, 47000 (47 kOhm), 220000 (220 kOhm), 470000 (470 kOhm) Ohm.

Choose among 1/4 Watt or 1/2 Watt (1/2 Watt can also be use with higher currents requirement, such as small motors), 5 percent (tolerance), made of Carbon film (not critical in our case).

- a few LEDs. Get any colors you like, as long as you use a matching resistor.
for battery operated projects using less than 12 V, matching resistors for LEDs are mounted in serie.
One resistor per LED, the resistor value is usualy less than 1000 Ohm (1 kOhm).
If this is your case, get resistors of the following values : 100, 220, 270, 330, 470, 680, 1000 Ohm.
Start by using the resistor of highest value (Ohm) first, then try a lower value if it does not turn on.

Sensors (pololu.com).
Examples :
Optical sensors...
Digital Distance Sensor 10cm (1134) (pololu.com).
Analog Distance Sensor 4-30cm (1136) (pololu.com).
Cable for analog distance sensor (1136) :
3-Pin Female JST PH-Style Cable for Sharp Distance Sensors (30cm) (117) (pololu.com).

Sonar Range Finders...
Parallax PING Ultrasonic Sensor (pololu.com).
Parallax PING Ultrasonic Sensor (parallax.com).
Extension Cable 12in Female JR - Female JR (pololu.com). Useful if your sonar (Ping, Parallax) is far from the micro-controller board (Arduino). It is the same cable used to extend servo-motors cable.
Sample code for the Ping Ultrasonic Range Finder (arduino.cc).

- one or more "bread board(s)" (experimenter boards).
For example :
bread boards (pololu.com).
400 points bread board (pololu.com).
830 points bread board (pololu.com).
1660 points bread boards (pololu.com).
Or :bread boards (adafruit.com).

- some wires to connect the component with the Arduino.
For example :

Standard jumper wires...
Jumper wire kits (pololu.com).

Better jumper wires...
Male - Male jumper wires (pololu.com).
Male - Female jumper wires (pololu.com).
Female - Female jumper wires (pololu.com).
Breadboarding wire bundle (LadyAda) (adafruit.com).

Where can I order the micro-controller board and the others parts ?

We have no special interest with the companies listed bellow, they are just companies we have used.

Pololu (pololu.com).
In Las Vegas, standard shipping seems to be fast for So. Cal.

Adafruit (or LadyAda) (adafruit.com).
In N.Y. area, the shipping can be 1 week for So. Cal.
They have a very nice web site, full of examples.
They also have some great "Shield". A shield is an interface you use with an Arduino board.

SparkFun (sparkfun.com).
They have many different selections to choose from.

many more places (let us know).

Where can I find information or tutorial regarding the Arduino ?

The source :
Arduino (arduino.cc).
Getting Started with Arduino (arduino.cc).
Arduino Booklet (arduino.cc).
Download the Arduino Software (arduino.cc).
Arduino Forum (arduino.cc).
Arduino (en.wikipedia.org).

Tutorial on Ladyada (adafruit) :
Arduino tutorial (ladyada.net).

Which leg of an LED is the plus (or minus) ?
Usually :
Longest leg is plus or positive (+).
shortest leg is minus or negative (-).
LEDs often have a flat spot on the minus or negative (-) side.

Light-emitting diode (wikipedia.org).
LED circuit (wikipedia.org).

How to recognize a 2 colors LED ?

Anvil (anode, Kathode) size are often of similar size.
Unlike single color LEDs, which have a small one (positive) and a bigger one (negative).


How to connect a 2 colors LED ?

Connect a resistor to each leg of the LED.
Connect the other leg of each resistor to a digital pin of the micro-controller (Arduino board).

Resistance of the resistor, should be around 100 Ohm - 220 Ohm for each resistor. However, it depend the LED.


Can I connect a dc motor with encoder, instead of a servo-motor to an Arduino... ?

Take a look at the following link, to see a nice image (pololu.com) :
d.c. motor connection to an Arduino Board (pololu.com).
This type of robot is a line follower.

I did a search only on the Pololu web site, feel free to look on others sites too.

Adafruit, also has a nise little shield (hardware interface), allowing to connect "regular" d.c. motors.
Adafruit Motor/Stepper/Servo Shield for Arduino kit (adafruit.com).
The price is reasonable and according to users, it is seems to be easy to setup.

For info regarding the motor :
Micro Metal Gearmotors (pololu.com).
others possible choices :
Pololu Metal Gearmotors (pololu.com).
Solarbotics Gearboxes (pololu.com).
For info regarding the encoder :
Encoder for Pololu Wheel 42x19mm (pololu.com).
For info regarding the encoder and wheels :
Pololu 42x19mm Wheel and Encoder Set (pololu.com).
A slightly bigger motor and encoder configuration :
19:1 to 131:1, Metal Gearmotor 37Dx52L mm with 64 CPR Encoder (pololu.com).

Pololu Micro Metal Gearmotor Bracket Extended Pair (pololu.com).


The latest and original of this document is available at the following address: http://www.linuxastronomy.org/lias/lias/hp/show/hp_scale_2011/lias_robotic_02.html
SCALE 9, Los Angeles 2011.

This page as well as the whole site is Copyright© , 2001 - 2010 Eugene Clement