Since I was 5 ~ 8 years old I was interested in mechanics, electronics and how things worked in general - my mother has some interesting histories about me disassembling all sort of devices (and usually not being able to put them together again); one in particular in which I got a saw as a "gift" (I was only 6 or 7 and someone gave me a real saw, not a toy, plastic one!) and went to put it into good use sawing some furniture :).
Even though having a high interest in electronics I ended up in the computer software field (just to make it clear: I do enjoy being involved in such fast changing, challenging industry :) and since then I've been having lots of fun (and some frustrations also).
As anyone involved with IT knows, keeping up to date with such a fast changing field requires a lot of effort and over time I put my electronics pretensions to rest (after all there are enough fun stuff in the computer world to play with to keep me busy for a long time...).
But about one year ago this started to change as I started to play with some basic (really basic) electronics stuff again (just for fun) and I stumbled on a small but very interesting piece of hardware: a small board with a microcontroller and a lot of software support with some nice characteristics (at least from my point of view ;) :
- Open Source Software / Hardware
- Inexpensive (will not cost you an arm and a leg :)
- Simple to work with, at least not as complex as the other options I had seem before (no complex, expensive tools required)
- Easily integrated with the "external" world (through sensors/actuators).
- Extensible (shields, breakout boards and virtually anything you want)
- Well supported
- Large community
At this point you may be wondering what can be accomplished with such beautiful piece of hardware... well, I guess it is fair to say that you can find an Arduino C/C++ library for virtually anything you can come up (of course this is not completely true, but it is not too far from the truth). IMO, the important question is not "is it possible to connect X to Arduino" but instead "how hard is to connect X to Arduino" and based on the list bellow (which I wrote based on information I found) I conclude that, excluding more exotic hardware, it does pretty well job on this topic (note that almost all items in the list bellow requires extra hardware):
- Temperature, Pressure, Gas, Light, Distance, Color, Humidity, Accelerometers, etc.
- Bluetooth, TCP/IP, UDP/IP, Serial, GPRS, Infrared, etc.
- EEPROM, SD cards
- Step Motors, Servos, DC Motors, LCDs, etc
This post is not intended to be an Arduino introduction / course / tutorial. Instead it is meant to be only a teaser so if you want to learn more, you can find lots of information in the internet. Personally there are some sites I highly recommend you to give a visit:
- http://arduino.cc/en/ (main Arduino site)
- TED Talk about Arduino
- http://www.youtube.com/watch?v=fCxzA9_kg6s (english)
- http://www.youtube.com/watch?v=inYEsklZXNE&feature=relmfu (Portuguese)
- Arduino by Make Magazine
Finally, some electronics interesting tools:
Well, that's it. Now let me get back to play with my just arrived Arduino!
In the next post I hope to shed some light about my current projects related to Arduino (both soft and hardware).
Hope you found this post interesting.