Pages

Tuesday, October 12, 2010

Arduino - Open source hardware

When we mentioned open source, most people will think of software like GNU/Linux, those free and open software where you have access to the source codes and you can make changes to the codes to suit your needs if you have the knowhow.

When we mentioned microcontroller (MCU in short) to non-engineers, most people will think of those chips and electronics inside a modern car that controls the air intake, fuel mixtures and other parts of the car or the chip in the washing machine that control the washing cycle. It is the intelligence that make the electronic appliance works and repeats over and over again with limited options or customisation. This is the hardware part I am taking about.



Arduino founders Massimo Banzi and David Cuartielles spend time and money to designed the board, make the actual hardware and sell it for a small profit. What they did different is that they published everything for everyone to take, the design files, schematics, software for the board. Anyone can built the hardware at the lowest cost, sell it and keep all the profits without needing to pay the founders any royalties. In an article from Wired magazine "Build It. Share It. Profit, Can Open Source Hardware work"  Banzi quoted "If you publish all your files, in one sense, you are inviting the competitors to come and kill you".

Enough of definition and history. One of the first questions a beginner will ask, what can I do or use Arduino for ? Is it easy to learn how to program and use ? How much does it costs ? I do not know electronics, will I be able to pickup all the necessary skills to make it work ? Where can I buy parts for my projects ? This is where this blog, Arduino for beginners will be different and will talk more about sensors and their usage instead of just howto and tutorials on projects.

Let me address them one by one... What can you use an Arduino for ? Well, you can use it to interface with the physical world. The most basic would be to control LEDs (not very useful with a single LED, just make it blink at different timing) but when you combined it with sensors and creative ideas, you can create lots of fun stuff  like mood lamp using a 3 colour LED, scrolling LEDs, distance finder, motion sensors, home made alarms, custom remote controllers and one of the most popular, make robot more intelligent with sensors, servos and logics.

Machine or computer interface with human using sensors and everything we use today have many sensors in them. I'm not talking about temperature sensors in the aircon but most basic stuff like the keyboard I am typing this blog, it is a combination of many buttons sensors, mouse, an IR sensors. Apple macbook have tons of sensors (to make it more cool and intelligent) besides the keyboard, touchpad is a touch sensors, light sensors to dim the screen in dark room, proximity sensors to off the display when you close the lid, IR sensors to take input from the remote controller. With the iphone, they have sensors like accelerometers, touch screen, proximity and light sensors. Well you get the idea.

Arduino with its input and output pins, can be program to either read sensors using digital pins (on or off) / analog pins (voltage differences) or send an output to the output device like a LED, speakers, USB/serial port to the computer, LCD screen or turn on/off an electrical appliance using relays.

Please refer to Arduino Playground for more details like interfacing with hardware, software and other related information.

No comments:

Post a Comment