Just a few more Arduino thoughts for anyone in the slightest bit interested…
I brought an Arduino Uno a year or so ago and amused myself making the LED blink on and off for a while. I think the real advantage is that all you need to "play" with it is a PC (laptop in my case) and a USB lead. It connects to (and is powered by) the PC and it is pretty simple to programme. It has quite a useful set of library functions that can be simply recycled into your own sketches (programmes). In essence this is a small embedded system designed to be hooked up to the real world – be that an analogue or a digital one (or both).
The Uno I have is pretty basic in terms of memory size & compute power but only cost about £20 and it was useable straight out of the box. If I wanted to use these devices for my own 'embedded' applications – then it is possible to buy just the Atmel 'chip' and download the Arduino software into it. MERG published a simple way to (using a Uno) programme the Atmel chips last year. An embedded 'Arduino' chip would cost about £3 a time on this basis. In my view this is a better solution (than a PIC for instance) for many potential users, especially for one or two-off type projects.
I also happen to have a PIC32 (Starter kit II) and this is a very powerful micro-system with lots of memory, I/O and capable of some very serious processing power. As the PIC32 is also available in an Arduino compatible package it means that I can upgrade to a more powerful Arduino based system should I need to do so. In other words there are upgrade paths already available.
So what use is all this technology?
Well (for instance) it's actually not that easy to connect a PC or Laptop to the real world and there are all sorts of USB to Serial and USB to parallel port boards available to help do it. It occurred to me quite recently to dig out the Uno and try to talk to it using my PC (Forth) based system. I was delighted to find that it was pretty simple get the Uno to talk to my PC system via just the USB link (Of course other languages could be used – C, Basic, Processing etc but I used Win32Forth).
I've not had time to explore this further as yet but (in principle) I can connect my laptop very simply to the real world via the (tethered) Uno – with all it's I/O capability available to me. I could therefore do most of the 'compute' work on the PC (with all its storage, graphics and connectivity wi-fi etc) and connect to other "things" via the Uno. It's a just a serial link but as I intend to pass high level commands between the two devices I don't think this will be a problem.
In summary, the Arduino will be acting as a very simple interface between my laptop and anything else I want to connect to and control. Eventually I hope to have a general interface programme running in the Arduino and run different 'control' programmes from my laptop for different devices/applications.
A kind of universal (PC based) controller just using an Arduino.
However (back to reality) – I've a few other things to work on (and finish!!) before I get too involved in anything else right now but I think this idea is interesting and I hope it will encourage others to explore the possibilities.
Regards,
IanT