13 April 2011

Q: Is the Arduino environment usefull for real life projects?

A: Of course, if you are a full-fledged programmer and have a lot of time. (Fun is included.)

Just to sum up: Here are a few projects which impressed me:

Have a look at the Laser Harp:

Quadcopter playing ball:

Solenoid concert

DIY Snthesizer:

A Dice Game:

Dice Game from Mike Cook on Vimeo.

Long Answer: The Arduino is, what it is designed for:

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.(from arduino.cc)
If you have no programming experience, it is easy to learn. There are a lot of good books, the community is eager to help. And if you stick to the supported libraries and shields it works mostly right out of the box. The interesting thing is, that you are not restricted to program for the screen. No, you can control the real world with it. And the libraries support these programs so that you do not have to dig deep into machine dependent code. Really nice done.

And if you use the shields like lcd, ethernet, midi, motor you can do easy projects which were a couple of years ago with traditional programming languages nearly impossible to do. So it is an easy way to learn the basics and to get experience in a very concrete manner. If you do it right you see what works or works not. And you can try your skill as a developer and debugger.

Problems start when you are not using recommended hardware. You are of course not all alone for there are others who ran into the same problem. And those who really knew what they were doing most of the time found a solution. But as a beginner: This is not the easiest way to do it. (Look at my ongoing story with the LCD-shield and later on with the push buttons.) Ok, I found my way around but the code is for other beginners nearly useless unless they have the exact setup. And even if they have it, they can run into problems when e.g. one resistor on the lcd-board does not work as indicated.

The other problem is when you try to use the Arduino in the real world, like I did with twitter. I found a lot of nice solutions, but couldn't get them to work. Until I noticed that Twitter changed the Api. And all Arduino projects which have run before, stopped running. Of course that is the way of life: Things change, change fast.

So I had to decide how to move on. I found another problem (at least for me): I looked into the APRS, which is used from radio amateurs since several years. It uses GPS, LCD, Temperature measurements, Packet Radio, Transceiver etc.  I wanted to do it alone, but found also a nice project Trackuino, which was designed primarily to track high altitude balloons. A wonderful project. Chapeau!  

(That's another one, anyway...)

But when I had a deeper look into code, hardware etc.  I thought, that it was for my no-sense projects too much trouble. When I want to use it with my equipment I hat a lot of tweaking to do. Will say: It is a ambitous project, so the code is big and complicated. This is not a project for a weekend and so out of my time limit.

What stays: After reading the code of the Arduino CW-Keyer  (also a very good implementation) which leaves no wishes open, I will fiddle around with my little no-sense projects and do a little bit of prototyping if I have a nice idea. I think, that I now know how it works and leave the big projects to others.

Anyway: Thanks to the Arduino community: It was a pleasure. I had a lot of fun. And I appreciated the multiple help I got from this worldwide group.

PS: Summer is coming, so stay tuned in the next dark season.

And have a look from above:

Sorry no Arduino!