Arduino, etc.

Stewart C. Russell scruss-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Sat Dec 29 14:02:28 UTC 2012


On 29-12-12 05:40 , Zbigniew Koziol wrote:
> 
> Does anyone around has an experience with tools like these? Where
> electronics can be joined with programming.

Sure. The field is generally known as "physical computing". The Arduino
is probably the most popular board used for these projects, but it
wasn't the first. It's so popular now, though, that many microcontroller
families now have Arduino-like IDEs, often compatible with the
Arduino/Wiring language. If there is an open-source C compiler for the
microcontroller, there's a fair chance that some kind of Arduino
compatible IDE exists.

Much of the current physical computing activity grew from work around
the Processing language <http://processing.org/>. It's a cut-down form
of C++, and a subset of the language is used by Arduino. The main
reasons that Arduino is so popular are:

1) it hides the obscure and device-specific code that the
microcontroller needs to configure and use IO ports. "Real" embedded C
code is very low level, and is pretty close to assembly language in
readability. This lowers the barrier to physical computing, but makes EE
types mad.

2) with its huge user base, pretty much every device or sensor you could
plug into an Arduino already has code written for it. Arduino
programming can be consequently more configuration than coding. This may
or may not be a good thing ;-)

> I would possibly want to prepare a some sort of comparison chart between
> these tools. Hence, any opinions, recommendations, etc, please.

The book that's a great introduction to physical computing is Tom Igoe's
"Making Things Talk" <http://shop.oreilly.com/product/9780596510510.do>.
It's getting a bit old, has some rather obscure art projects as
examples, but is a good general introduction.

There are tons of hardware platforms out there. Most of them are based
on 8-bit microcontrollers running at up to 20 MHz. The ones I've used
that I know work with Linux are:

* Arduino. Based on the Atmel ATMega ATmega328P. Boards aren't as cheap
as they could be (~$35) considering the bare processor is only about $5.

* Atmel ATtiny85 - with care, can be programmed with the Arduino IDE and
some wiring. Cheap ($2), tiny 8-pin chips which are great for
interfacing to just one or two devices. Used in the Digispark
<http://digistump.com/#digispark> interface board.

* Teensy3 <http://www.pjrc.com/store/teensy3.html> - based on a 32-bit
ARM Cortex, this is a lot more powerful than the 8-bit Atmels. It's able
to do real-time DSP on audio, which is too much for an Arduino.

* Texas Instruments msp430 LaunchPad + Energia <http://energia.nu/> -
the Launchpad is a cheap evaluation board for TI's low-power
micorcontrollers. It used to be stuck with a huge and limited
Windows-only IDE, but Energia is an open, cross-platform IDE based on
Arduino. It's a bit more limited than the Arduino universe (the stock
processor is clocked at 1 MHz, and has very little memory), but you can
be up and running for about $5.

You'll find a lot of projects to think about on Hack a Day
<http://hackaday.com/>.

cheers,
 Stewart
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list