Aug 98 Online
Volume Number: 14 (1998)
Issue Number: 8
Column Tag: MacTech Online
Danger, Will Robinson
by Jeff Clites, email@example.com
When I sit down to program, I always know, somewhere in the back of my mind, that my efforts are ultimately targeted to the screen, the disk, or (if I'm feeling adventuresome), the network. But in the end, it's a very passive endeavor. My programs produce information -- maybe images or sound -- but, not action; they don't make things move. But they can. This month, we are going to find out about hooking your Mac up to the outside world, in a more visceral way than just attaching a printer. It's a hands-on subject, so roll up your sleeves and get ready.
Make Your Own Friends
Robots. They're as close as you can get to a computer with legs, and they can have almost as much personality as a Macintosh. I first saw a fun robot called CHiP at Macworld SF in January. It's a little blue car with two wheels and two sensing bumpers, which you can program and then run either tethered to your Mac or autonomously. The Hyperbot web site has a QuickTime movie of CHiP navigating a maze, to give you an idea of what he is like. There are also facilities for attaching additional sensors to CHiP, so for instance you could attach a light sensor and have him hide in the shadows. CHiP is still under development at the time of writing, but when finished it should be available through BeeHive Technologies, the makers of ADB I/O, reviewed elsewhere in this issue.
- BeeHive Technologies, Inc.
Another fun place to get your feet wet is with LEGO® robots, built from LEGOs® augmented with a few electronic parts. The Caltech ICOBotics(tm) site has Macintosh software which lets you write programs for your robots, using an iconic language. ICOBotics(tm) is intended to be an educational tool, and it would be a great way to introduce kids to programming, letting them learn the fundamentals (control structures, subroutines, etc.) while seeing very tangible results.
- ICOBotics(tm) for LEGO Dacta® Home Page
There are also a number of pages on the web devoted to those seeking a more hands-on approach. Some of them are specifically geared (no pun intended) to the hobbyist roboteur, but the same general principles apply to building any sort of device which moves -- so even if you don't want to build R2-D2 a brother, you still might have fun adding computer control to your doggie door. A good place to start is Dan O'Sullivan's Physical Computing page, a hand-illustrated guide to the various components involved in hooking a computer up to the outside world, focussing on communication through the serial port and targeted toward artists. Matthew McDonald has a large compendium of useful information on hobby robotics, and there is a well-organized FAQ for the comp.robotics.misc and comp.robotics.research newsgroups. For the latest news, stop by Robotic.com, which prominently displays a "made with Mac" logo.
- Physical Computing
- Info on Hobby Robots
- Robotics FAQ
For further technical information as well as supplies, start with FerretTronics. They sell controllers for servo motors, and their web site has a step-by-step guide to using their package to build the circuitry of a robot or other device, including Mac-specific information. They also have free Java-based Mac software for interfacing with their controllers, and examples showing how to drive them from AppleScript or Future BASIC.
For programming of embedded microcontrollers, Crossbow by Peripheral Issues is a Macintosh cross-assembler and IDE which allows you to target a wide range of chips, and Interactive C by Newton Research Labs is a programming environment created for the MIT LEGO® Robot Design contest, and it can compile instructions on-the-fly for quick development. You will also want to look into the Handy Board, developed at MIT as well. It's a controller board for experimental mobile robotics, and should be programmable in either of the above environments. By the way, it was designed on a Macintosh (don't forget to tell your PC buddies), and they provide links to the circuit-design software used.
- Interactive C
- The Handy Board
For the rest of the parts you might need, the Internet Robotics Sources page has an extensive list of commercial (and other) links, and the Mondo-tronics' Robot Store claims to have "the world's biggest collection of miniature robots and supplies," and is worth visiting just to see their cute web design.
- Internet Robotics Sources
- Mondo-tronics' Robot Store
Now, when you tell you friends, "my Mac can beat up your Mac," you'll really mean it.
Respect for the Elderly
If you are anything like me, you hate to give up a good Mac which has served you well, even after you've purchased a new one. So you've saved Old Faithful, but what now? Fortunately, there's a lot you can do with an old Mac -- from the silly (yes, we've all heard of the Macquarium) to the practical. Jeff Weitzman's Great Ideas for Old Macs page has a bunch of suggestions, such as using old Macs to set up email and ftp servers for an intranet, or using them to run a book tracking system in a school library. To find software for your early Macs, go to Jag's world, which has an extensive list of shareware which runs on older Macs, and even has instructions for "How to Get Your Compact Mac on the Web." Finally, there's the Low-End Mac page, which has all sorts of information on older Macs and also tracks current Mac-related news.
- Great Ideas For Old Macs
- Jag's World
- How To Get Your Compact Mac On the Web
- Low End Mac
While we are on the subject of the fun and unusual, I have to point out the Oddities Curios & Rarities for Macintosh web site. It has nothing to do with programming per se, except to drive home the point that necessity is not the only mother of invention. It is full of all sorts of downright weird software -- things such as Sim-Tofu, Psychomatic, and Kant Generator Pro. It all makes you wonder what you would do with that much free time.
- Oddities Curios & Rarities for Macintosh
These and scads of other links are available from the MacTech Online web pages at www.mactech.com/online/.