Ahh, but now the real fun begins, populating the 96 holes of the eProto PCB with your own components. Making this task even easier are the 18 solder pads that extend the 9 pins from the DB-9:
|Pin||# of Pads*|
*Remaining 6 pins, one solder pad each.
This arrangement enables you to use the other 78 solder pads for holding your components, while deriving power and reading the AVR’s I/O pins with the DB-9’s extension pads.
Show Me the Number
If soldering isn’t your cup of tea, but you’d like to monitor input/output activity on the AVR’s I/O pins, the Element Products eDisplay might be the answer. This $19.95 compact, 4-digit liquid crystal display (LCD) is an “intelligent" screen with its own on-board microcontroller that can be plugged into any of three Command Module’s ePorts (e.g., top left, top right, and top center; you shouldn’t use the cargo bay ePort).
NOTE: You can attach the eDisplay to the cargo bay ePort, but all characters printed on the screen will be upside down.
Supplied with a C code function library, the eDisplay can print 9 different combinations of alphanumeric characters with 9 built-in, high-level functions:
An example demonstration program, lcd4_exp.c, can be downloaded and compiled in WinAVR for evaluating each of the 9 built-in functions. Inside this demo program, there is a port “auto-detect" routine which locates the eDisplay’s ePort location. This routine consists of a simple series of five if/else if statements that examine each ePort for the presence of the eDisplay. Make sure that you paste this routine into your own eDisplay programs. Very handy.
NOTE: The eDisplay might not work with “some" hardware attached to other ePorts. This fault is a “feature" of the demo program’s auto-detect subroutine. You can circumvent this limitation by hard-coding the eDisplay’s ePort into your program.
Demonstration Program Correction: This include line in the eDisplay lcd4_exp program should be commented out:
// #include “oi.h"
This include file is used by Create and can sometimes cause complier errors. If you notice an error message referencing the absence of this include file, then just comment it out.
Also, make sure that you use COM9 for your USB Command Module port. Higher value port assignments can sometimes cause problems with WinAVR during the AVR programming step.
Each digit of the eDisplay is comprised of seven segments plus one decimal point. Furthermore, there is a colon between the second and third digits. This colon is useful for creating a clock display with eDisplay.
If you would like to individually control each digit’s segment and decimal point, a low-level lcd4SendDigits() function can be used for addressing 4 control bytes for enabling and disabling the screen’s 32 controllable bits. Yes, the colon is treated as a single bit (e.g., S32).
Roll Your Own
If you’ve got a hankering to add some hardware projects to one or more of the Command Module’s ePorts, but eProto and eDisplay don’t answer the mail, then build your own adapter plug. Depending upon your application, the cost can be reasonable, the labor relatively easy, and the final appearance very customizable. Here is a sample DIY ePort Plug:
*all parts are from Digi-Key
NOTE: Use a multimeter to verify each jumper/ePort connection with the port pins cited in the iRobot Command Module Owner’s Manual. Also, pin 6 is not connected on any ePort. Similarly, pin 8 is only connected in the cargo bay ePort (e.g., AVR pin LD1).
You can use the wire jumpers to quickly interface sensors, motors, and switches to your Create. These jumpers also simplify the debugging of your hardware project. It’s your very own plug-n-play DIY ePort Plug. Now go create something.
The incredible innovations, like drone swarms and perpetual flight, bringing aviation into the world of tomorrow. Plus: today's greatest sci-fi writers predict the future, the science behind the summer's biggest blockbusters, a Doctor Who-themed DIY 'bot, the organs you can do without, and much more.