use the chip’s video output to make a big and bright LCD
screen capable of color graphics and text.
Getting to Know the
Parallax offers a number of Propeller-based
development boards. Their latest — and one of the most
versatile — is the Propeller Board of Education, or PropBOE
(see Figure 1). This board is not inexpensive, but it
combines nearly all of the features you’ll need as you
develop and experiment with Propeller programs. Its size
and form factor match those of the venerable BASIC Stamp
Board of Education; both measure 3 x 4 inches, and contain
a 10 row by 17 column mini solderless breadboard.
Among the built-in hardware of the PropBOE:
• Both 5V and 3.3V voltage regulators, for supporting
three power sources: USB, nine volt battery, or 6-9 volt
DC wall transformer. The 5V regulator is zesty enough to
power both itself and an Arduino, so your Arduino-Propeller robot only needs one battery supply.
As a sound co-processor, we’ll use just a small portion
of the solderless breadboard, the µSD card slot, and the
stereo audio jack. The PropBOE uses a mini-USB connector
for connecting to a PC. For programming, you’ll need the
Propeller Tool software, available from the Parallax website.
See the sidebar for additional information on PropBOE
downloads and resources.
Propeller Board of Education (PropBOE)
GN1:0 MIDI conversion tool (freeware)
Prerecorded sound clips
WAV info at Wikipedia
Augmenting the Propeller
The Propeller is programmed using any of several
languages. The most common is Spin, though the chip
supports others including Basic, C, and a native assembly
language called PASM. Spin is a self-descriptive language
specially written to support the Propeller’s unique
functionality. As a programming language, Spin is not
difficult to learn, but as an Arduino user you may find some
of its syntax a tad exotic.
Right off the bat, you’ll note that control structures —
if, repeat, and so forth — are defined using indenting. This
contrasts with the Arduino which uses brace characters to
mark the start and end of structures. The indenting is
useful for visualizing the structure of your programs.
The Spin language has all the routine programming
statements you’d expect. For most everything else — setting
up serial communications, running servos, or making
sounds — the Propeller relies on object files, much in the
same way that the Arduino uses object libraries. Several
common objects come with the Propeller Tool, but others
are available for download from various resources; see the
Objects are just files, and by convention use the .spin
file extension — also shared by regular Spin programs. Some
objects involve multiple .spin files. All of the program
examples for this project come with the required objects
(except for the standard ones included with the Propeller
Tool). You can download everything as a single zip file
archive from the URL at the start of the article
The trick to using these extra objects is that they must
reside in the same directory as the main Spin program.
When you compile and upload your program to the
Propeller, you only need to have the main program file
open. The Propeller Tool will collect all the necessary
elements and compile everything together.
A Brief Introduction to Sound
In order to better understand any sound generator, it’s
Numerous sound-making objects have been created for
the Propeller. Many are available on the Propeller OBEX
(OBject EXchange) website, located at obex.parallax.com.
Sift through the Speech & Sound category. You'll find
several handy sound generators, including:
SIDcog - Replicates an ‘80s style sound synthesizer chip,
similar to the one on the Commodore 64.
Vocal Tract - Approximates the human voice for basic
DTMF - Generates telephone dialing tones.
You can find additional objects on the Parallax forums.
Use the forum search tool to find objects you're interested in.
SERVO 06.2012 59