donderdag 4 oktober 2012

A journey to Arduino for a Java programmer

Yesterday was the Devnology Arduino workshop at the TU Delft (Civiele Techniek en Geowetenschappen) where Rolf Hut (@RolfHut) taught us all the basics of using the Arduino. For the last few nerds among us that don't know Arduino, read all about it here. To sum it up, it's a really low entrance platform to building your own sensor-equipped embedded system. And even more important, using it is fun and easy, even kids are able to use it according to Rolf.

Arduino unit (image source Wikipedia)

I teamed up with Arne (@arnetim) to take up the challenge of proving that we are at least as skilled as a bunch of school kids. We are trained software engineers, we can do this :-)
Yet, only seconds after opening the box with the components, we realized that the Electrical Engineering skills we learned at school were very deeply hidden inside our brains. This was gonna be a lot harder then we expected....

The first assignments consisted of checking the hardware and running some example programs for our first construction; the fading LED. And step by step the electrical knowledge came back into our minds.
Some example code in the editor:
Arduino IDE (image source Wikipedia)

 Compiling, installing and running your code on the Arduino unit is just a matter of one click (or short-key).

The second assignment meant creating a Knight Rider kind-of LED bar, meaning the LEDs had to light up one after the other. At first we made it to automatically lit them up with a timed loop , later we decided to use a potentiometer to select/enable the LED's by turning the knob (where voltage was modulated to a LED).
 We  took Rolf's advice and decided to focus on the hardware and not the software since we're 'software guys' and we already code more then enough on a normal day.

this is not our construction but a similar one from youtube

After these first assignments we really started to enjoy working with it and wanted to test all sensors. Realizing construction after construction. For instance we invented a 'musical instrument' that allowed you to control the sound/tone by the amount of light provided to the light sensor. This was also referred to as a 'refrigerator simulation' or a 'parking-assistance', for daylight parking only :) 



And our masterpiece; the birthday cake simulation. This entailed a couple of LEDs that were lit, representing the candles, but by blowing into the speaker (which was connected to function as a crappy mic) you could blow out the candles one-by-one.



To sum the experience up; Arduino is a really cool platform and it really has a low learning curve. We 'Java programmers' (although we both had done C in the past) were able to realize all kinds of  constructions within only two and a half hours. Also the hardware and software did seem pretty mature/stable. With every construction we'd hold our breath whether it would blow up the Arduino or work as expected. But since it did never explode we either made no mistakes (which is highly unlikely) or it just is a really robust devkit.


Geen opmerkingen:

Een reactie posten