Well, for making a robot from scratch, you have four major things to confront. First, what do you want it to do? This will point the way to the sensors, effectors, and chassis layout. Your sensors can be as simple as switch closures, or as complex as analog waveforms from an ultrasonic or radar head, or even live video images. The operating environment will dictate whether it needs to handle sand and gravel, mud, grass, or tile and carpeting. Also consider whether it needs waterproofing. And the weight and size of those things will help to define the chassis style and layout. Second, what processor will handle the inputs and outputs? This will help weed out the underpowered, slow, or those with inadequate I/O, because the sensors and how you handle them will require a certain type of I/O structure and speed. Also, whether you need floating point capabilities! Third, what sort of power source will you use? Batteries are almost always the answer, but the size, type, and quantity will be dictated by needs and restrained by chassis size and how much motor power it takes to haul them around. Fourth, how will you program it? Many processors require special development tools to be in place- for virtually any processor, there is a specific socket or adapter, software package, and perhaps a motherboard or development card that you must have. Others are as simple as an infrared interface, like the Mindstorms, but those are pretty scarce. One thing that helps a great deal is how you arrange your software. Write all the low level functions, like bit level I/O and masking instructions, elementary timers and interrupt generators, etc. as a group. Then make mid level functions that call those low level functions and make things happen. Finally, a level of high order instructions will accept a function name, some arguments and conditional statements, and call the other routines to make composite actions get executed. This one department alone is what makes the Legos kits successful- any kid with a USB port can program a robot. I taught a couple of courses this summer using the Mindstorms and the kids were doing things that actually drew the attention of some local TV stations- we got some pretty decent news coverage of the students making robots that carried out complex tasks. There is a great deal to be said for what you can accomplish once the legwork is out of the way, and software is often the most complex part of any robot. Now, your specific questions about getting parts are easy to resolve. There are many online stores where you can order things- I use Mouser, Scott Edwards, Jameco, Parallax, Dontronics, and many others. Local stores in town are more scarce, but Radio Shack does still carry resistor assortments, capacitors, transistors, some microchips, and perf board. We knock them a lot here, but in a crunch, you can actually do a great deal with what they sell. You just have to be creative. As for other sources of parts, find a military or electronics surplus store or even a junk yard. Scrap yards sell the electronics by the pound often enough, and I have purchased circuit cards for $1.00 per pound. Old copiers. telephone network switching gear, even PCs and televisions can be good sources of parts. Real gold mines can be found- VCRs, old floppy drives, old printers... they have motors, sensors, processors, microchips, bypass capacitors, etc. You can get some really excellent soldering practice by disassembling these devices. That was how I started out as a kid; pulling old TVs and radios apart. If you have specific needs or ideas, please ask.
Cheers!
Chip Shults My robotics, space and CGI web page -
formatting link