Thursday, April 01, 2010

Processing

Processing’ looks very interesting programming environment - I have been aware of it for some time but not really paid it any attention. Until now, that is.

The reason for my new interest is really down to my son. He had his 15th birthday last week and, like many teenagers (and us older ones), he is really into computers, games consoles (he can talk all day about PS3 and XBOX), and cars. But he has never shown any interest in programming. Which is a shame because I think he could be quite good at it – he is good at maths (much better than I was at his age), and is careful and logical (well, sometimes).

So, with all that in mind, I went searching for a birthday present for him. And I found this thing called an 'Arduino' - a microprocessor based I/O board that can be connected to a PC (or Mac), can be programmed, and interacts with the physical environment by means of various sensors, motors, bluetooth, ethernet, and so on.

To begin with, he did not appear to be that interested – it was the one birthday present that was left on the side, unlooked at. His other gifts were much more exciting. I wasn’t disappointed and I figured it would just be a matter of time before his curiosity got the better of him. And I was right. A couple of days later I noticed that the box had been moved. It’s contents had been layed out on his desk. I had a chat with him and, as expected, he said he was curious but really didn’t know what it was or what he should do with it. So, with my help/guidance, it was quickly set up, the Processing environment installed on his computer, the Arduino connected, and a few LED’s wired up. Within minutes we had a short program written that did nothing more exotic that flash the LED’s once a second. I then asked him what he would do to make the LED’s light up for 1 second but go out for just half a second. He soon had that figured and tested. His first computer program.

And I left it at that. There’s nothing more uncool when you are a teenager than having your dad show you everything.

The next day when I got home from work, he showed me how he had rewired the Arduino board to include a Light Dependant Resistor. And he has changed the program to to read the analog input from the LDR and use that value for the delay time in the LED flashing – so now he has a variable flash rate dependant on the ambient light in the surround environment. How good is that!

I think his next idea is to add a Heat Sensor, and he has already told me that he want to get hold of a accelerometer and a tilt sensor. Perhaps he is hooked. What have I done?

3 comments:

Simon said...

Simon

Great post, Processing is honestly the future for attracting young and old into programming. I have managed to write programs visualising all sorts of data in next to no time with this software, although I moved out of the IDE to eclipse very quickly to suit my needs.

Its great, as I'm sure your aware, allowing people to pick up electronics and programming in a fun way and develop it further as a pace suited to them. Let me know how this develops, it would be great to see how this develops.

I hope all is well.

Simon

Simon said...

Hi Simon - Thanks for the comment! Since I made that post about 'Processing' and the 'Arduino' things have gone a bit quiet. My son is now in the middle of his GCSE exams (Chemistry yesterday ... "That was easy" he said. Physics tomorrow) so his time is spent revising. But when the exams are out of the way there should be more time for 'Processing'. I did buy a couple of books (you can never have enough books!) on the subject - "Making Things Talk" and "Programmin Interactivity" - both O'Reilly books. The former is a whole set of projects for connecting up an Arduino to various sensors, motors, and such-like. The latter book is a longer treatise on the whole area of physical computing - everything from RFID to Smart Clothing (yes, really!). I think the first book will appeal to my son (and me) but the other book (700 pages of text) is probably just for me.

Still not back to OU studying. I do keep checking the OU site and keep planning my next course, but time is a real problem right now. Too much work to do and not enough time for anything else. It will come.

Simon K.

Simon said...

Good to hear about the books, I have access to the safari online bookshelf through work and those are definitely good texts. I also like the processing specific text by Ben Fry and Casey Reas I cant remember the name of it but its great for the java stuff, no good for Arduino.

I'm sure you have already seen it by now but there is a fantastic arduino project over at http://diydrones.com

Using an Arduino, Model Airplane and a GPS unit you can essentially create a UAV for a very cheap outlay, obviously takes a lot of time and effort but I think it is something I aspire to do in the future. Would make a great project for M450 or for teenagers and not so teen-agers!

I'm glad your keeping an eye on the site, I bet you wonder how you ever found the time to study! (Although I'm sure it won't be too long before your back).

Simon

Blog Watch