On Fri, Nov 13, 2009 at 2:13 AM, Omran Nazir <imran.nazir / yahoo.co.uk> wrote:
> Hello,
>
> I'll keep this short(ish) and sweet.
>
> Can anyone give any advice on possible prototyping kits I can buy for my experiments that can be programmed using Ruby.
> So far I have found two ideal candidates. Both have a native C like programming interface both of which have been ported to Ruby. What I am not suref is how good they are or weather by thinking of moving my work out into the physical world I am asking too much of Ruby and may as well just learn to code my experiment use their respective C-like interfaces.
>
> 1. Ardurino (http://en.wikipedia.org/wiki/Arduino)

That one is Good. I've been playing with Arduinos a lot lately.
Of the 2 boards you mentioned, Arduino is by far the most popular,
and there are boatloads of examples out there. Mac and Linux friendly, and cheap
enough that you don't get too upset when the board falls in the bath
or floats away
on a mini-zeppelin.

You can use RAD DSL (someone else posted a link) if you really don't
like the Arduino language.

From what I've seen though, there isn't much in the way of sample code
or docs yet.
You will probably learn more if you go 'au naturel';
I have some previous history with C, but the Arduino code is really
not as bad as 'full-on' C
(no need for memory management and pointers and suchlike).

The hard bit has been figuring out how the 'metal' does things
(voltage dividers and so on),
not the software running on the microcontroller. RAD won't help with
that, and you'll find it
harder to Google example code.

> Whats more, Processing may have a Ruby port (i've just heard whispers of it). So in theory I could code the scenario I've just described in Ruby.

The Processing environment is Java - based, and there's a very good
JRuby library called
ruby-processing that you really need to check out:

http://wiki.github.com/jashkenas/ruby-processing

Most Arduino <--> Processing integration I've played with involves a
(USB) serial link between them,
so there's no need to use the same language on both sides. You just
stream some numbers from the arduino,
and write a Processing app that draws something / updates a website
based on those figures.