First, there’s the introduction of a new C-based programming language appropriately called Propeller C. While the Propeller’s original anguage, Spin still remains a viable alternative,
those wanting to parlay their skills in the C world can now
do it with the Prop.
Supporting this new language is an easy-to-use
integrated environment. The environment — named
SimpleIDE — is available for Windows, Mac OS X, Linux, and
even Raspberry Pi. It’s a complete C development platform,
but with a conscious avoidance of the mysteries that often
stymie first-time C users.
Finally, there’s the recently introduced Propeller Activity
Board — a $50 development platform that combines the
Propeller chip with a host of built-in handy hardware
including a mini solderless breadboard; analog-to-digital
converter (ADC); three-pin headers for servos, sensors, and
other add-ons; audio jack, and built-in micro-SD card reader.
Given its special architecture, the Propeller has always
been a terrific microcontroller for robotics. Why? It’s not
just one controller, but eight — each controller is capable of
independently running a separate program. That can be
quite handy in robo-land, where multiple sensors are often
called upon to constantly feed data to a main processor.
With the Propeller, this often taxing workload can be more
readily shared across independently running computers.
In past issues I’ve written about the “ArdBot”
expandable desktop robot. Designed around the Arduino
microcontroller, the ArdBot provided a quick and easy
platform for playing with various robotic things — all
without breaking the bank. Given the recent advances in
Prop-dom, I thought it was high time to port the ArdBot to
the Parallax Propeller. PropBot is the result.
In this installment, you’ll learn more about the Propeller
in case you’re new to it. We’ll also cover the mechanical
construction of the PropBot, which can be made out of
lightweight PVC plastic, wood, or even heavy-duty foam art
board. Then, in upcoming issues, we’ll cover doing
interesting things with the PropBot like navigating it around
the room, looking for — and avoiding — obstacles, providing
sound and music feedback, and more.
A Quick Tour of the
The Propeller is a programmable microcontroller that
can be used to interface with external devices. Common
applications include running motors, reading the status of
switches, checking temperature probes — all the normal
things you’d expect it to do.
What sets the Propeller apart from most other
microcontrollers is that it’s designed from the ground up to
be multi-tasking. As mentioned, inside one Propeller there
are actually eight individual microcontrollers — each
operating independently, but able to cooperatively share
resources like memory and input/output pins. You’re not
required to use the multi-tasking feature of the Propeller,
but it’s nice to know the ability is there.
The multi-core design of the Propeller makes the
approach to programming and using it different than the
typical microcontroller. In many single-core controllers —
such as the AVR ATmega328 at the heart of an Arduino —
unique hardware blocks are set aside for handling specific
jobs. One such block handles serial communications,
another provides a self-running timer, and so on. These
hardware blocks run independently from the single core of
the controller, but by their nature cannot be used for
anything other than their intended purpose.
By Gordon McComb
Post comments on this section and find any associated files and/or downloads at
SERVO 09.2014 51