Sunday, February 03, 2008

An Easy Robot



This little robot is made with two perf boards from Radio Shack (one of them cut into two for the sides). This board is easy to work with because it has a grid of holes. It is very easy to make nice straight cuts (or even just score and snap). It is also perfect for drilling exact holes. Basswood and polyurethane glue holds it all together (along with a few screws).

The drive consists of two Futuba RC servos modified for continuous rotation and a caster wheel from Home Depot in the rear. The tires are 2.25" RC aircraft tires.

A 4xAA holder under the top deck powers the motors. The 9V battery on the top is just for the electronics.

The electronics is the GP3 board which has been programmed by the GP3EZ software so programming the robot is simple point and click.

The sensor is a Panasonic IR sensor tuned for about 38kHz. The IR LED is pulsed through a 2N2222 with the GP3's PWM at 32kHz which is close enough that it works. A piece of antistatic foam pushed into a pin header blocks the sensor from seeing the LED directly. When something is in front of the bot, it sees the IR bounce off of it. It would be easy to add more LEDs (for example, two on the corners). The sensors could be paralleled or just connected to more I/O pins.

Here's the software (dumped out to HTML by GP3EZ; the real software is all constructed using GP3EZ's point and click interface):


Step #TagConditionActionNextNotes
1StartAlways
LED Off
PWM: 200 freq=32766
 Start IR and reset LED (for when we finish turning)
2MainLoopInput: XXXXXXX0LED OnobjectCheck IR sensor
3 AlwaysPulse: pin 7 2000 Drive forward
4 
Always
Pulse: pin 6 1000 Drive forward
5 After 20 ms MainLoopServo delay (20ms)
6objectAlways 
back (set bookmark)We detected something, so back up a little.
7turnAlwaysSet Loop A to 20

 Start turning (just under 1/2 second)
8turn0Always
Pulse: pin 7 2000 pulse motors the same way
9 AlwaysPulse: pin 6 2000
 
Inserted step
10 
After 20 ms
 turn0 (Loop A)Pause and loop for 2 seconds
11 Input: XXXXXXX1
 
StartIf sensor shows clear (high) then go back to forward motion
12 Always
 
turnSensor wasn't clear so do some more turns
13backAlwaysSet Loop A to 100
 
Back up for about 2 seconds
14back0
Always
Pulse: pin 7 1000 Turn motors in reverse
15 Always
Pulse: pin 6 2000
  
16 After 20 ms 
back0 (Loop A)
Delay and loop
17 
Always
 {last bookmark}Go back to caller



The table is easy to understand. The step number should be obvious. The "Tag" is a label that names a particular step so you can refer to it later. Each step has 3 major parts:


  1. Condition - This must be true for the step to execute. Many of the steps are marked "always" and some are marked "After xxx milliseconds". These will always execute, of course. Note the lines that work with the IR sensor, however. They only execute when a specific condition is true.
  2. Action - When the condition occurs, this is what will happen. The GP3EZ can output digital values, PWM, pulses, and do a variety of other tasks as part of the action. If you are connected to a PC (the robot isn't) you can write data to a file or execute external commands.
  3. Next - When a step executes, this column tells the program where to go next (which is usually the next step).

The note field is just a comment and is ignored by GP3EZ.

Note that the GP3EZ supports looping and subroutines. For example, at the "object" tag, there is a transfer (in the next field) to the tab "back". The notation says that a "bookmark" is set. If you find the back label, you'll see it does several steps and then goes to the "last bookmark." This is nothing more than a subroutine call and return. You can see examples of looping in the object and back routines which generate a specific number of motor pulses.

Labels: , , , ,

Submit to:   book mark An Easy Robot in del.icio.usDel.icio.us  |   submit An Easy Robot to digg.comDigg  |   submit An Easy Robot to slashdot.comSlashdot  |  diigo itDiigo

Friday, February 09, 2007

The $200 Linux Handheld You've Never Heard Of

I don't know how I've missed these before. A Korean company makes a little handheld "video game" called the GP2X. It runs Linux on a 200MHz ARM processor (it actually has 2 ARM processors, but one isn't running Linux). From WikiPedia:
  • Chipset: Magic Eyes MMSP2 MP2520F System-on-a-Chip
  • CPU: 200MHz ARM920T host, 200MHz ARM940T
  • NAND Flash ROM: 64 MB
  • RAM: SDRAM 64 MB
  • Operating System: Linux-based OS
  • Storage: SD Card
  • Connection to PC: USB 2.0 High Speed
  • USB Host: USB 1.1
  • Power: 2 × AA or via AC adapter
  • Display: 320×240 3.5 inch, 260,000 color TFT LCD
  • TV output
  • Physical size: 143.6 mm wide, 82.9 mm high, 27 mm (excl. joystick approx.) / 34 mm deep
  • Weight: 161 g (without battery)
The price? Well under $200!

There's plenty of inexpensive expansion options and you can get an entire development environment for it... there's plenty of 3rd party applications.

Labels: , ,

Submit to:   book mark The $200 Linux Handheld You've Never Heard Of in del.icio.usDel.icio.us  |   submit The $200 Linux Handheld You've Never Heard Of to digg.comDigg  |   submit The $200 Linux Handheld You've Never Heard Of to slashdot.comSlashdot  |  diigo itDiigo

Tuesday, September 26, 2006

Rechargable Battery with a Twist

http://www.usbcell.com. Wow! Unfortunately these are not available in the US yet. Kind of a neat idea, a AA NiMh battery that you can plug directly into a USB port to recharge. You can also leave the caps on and charge them in a regular charger too.

Labels:

Submit to:   book mark Rechargable Battery with a Twist in del.icio.usDel.icio.us  |   submit Rechargable Battery with a Twist to digg.comDigg  |   submit Rechargable Battery with a Twist to slashdot.comSlashdot  |  diigo itDiigo

Saturday, July 15, 2006

You Can Take It With You (Your Data, That Is)

I use a lot of different computers, and sadly most of them run Windows. However, I recently purchased a 8GB pocket-sized USB 2.0 hard drive from Memorex. I had been carrying around a 1GB flash device, and had found a few good "portable" applications (applications that will run entirely from a flash drive). But the 8GB lets you carry everything.

This isn't a flash drive, by the way. It is a real rotating hard disk (a tiny one though). It was the smallest one I could find. I hook it to my keychain (and yeah, its a little large compared to a regular USB drive, but not so large that you can't do it). I was worried the "leather" case might not hold up to holding it on a carbiner, but it has done nicely for about 6 months.

Sure these are a bit more expensive than a 1GB flash drive (I paid around $150 for mine, and they are usually less now days), but keep it mind that this holds 8 times the data and does not wear out with repeated writes like a flash memory.

I currently have the following on my drive:
  • A "menu" (pstart)
  • Firefox
  • Thunderbird (reads IMAP mail from my main server)
  • Gaim
  • Open Office
  • The Gimp
  • NVU
  • Foxit PDF
  • VLC (for viewing videos)
  • An HP41C emulator
  • Cygwin
  • Cryptainer (makes encrypted drives)
  • A tiddlywiki for keeping notes
  • My home page
  • Lots of documents, videos, mp3s, bookmark URLs, etc.
  • Puppy Linux
Try getting all that on a flash drive!

Special Features:

  • High capacity Mini HDD portable storage
  • Pivoting USB Connector provides ease in connectivity to any available USB Port
  • High capacity storage in a small form factor of less than 2 inches square (1.75" x 1.96" x 0.56")
  • USB Connection for universal compatibility
  • No external power supply required
  • Brushed aluminum style metallic finish
  • Cross-platform compatible- works with Windows and Mac
You can find travel drives here. The best portable apps are Firefox and Thunderbird from www.portableapps.com and you can also find a large list at en.wikipedia.org/wiki/List_of_portable_applications or others at my bookmarks: del.icio.us/wd5gnr/usbapps.

Labels: ,

Submit to:   book mark You Can Take It With You (Your Data, That Is) in del.icio.usDel.icio.us  |   submit You Can Take It With You (Your Data, That Is) to digg.comDigg  |   submit You Can Take It With You (Your Data, That Is) to slashdot.comSlashdot  |  diigo itDiigo