Arduino: Micro-controlling your mundane tasks for you


Recently, I was watching DIY or Do-It-Yourself video on YouTube about controlling the lights at home.  The project involves something called microcontroller. That increased my curiosity and I searched about it. Interestingly there is a whole new field of creative projects in which microcontrollers are used, and not only professionals but individual with some knowledge of electronics, with interest in basic programming can do that. I find out that Arduino microcontrollers are the front runner in this field.
The best part of Arduino is that it is open source, which means that anyone can use it. Anyone with a project in mind, which involves some control over electronics or electro-mechanical gadgets or devices, then be it designer, architect, artists or just an enthusiast, with the flexibility of Arduino, the project can be taken to next level.

How it all began
The story behind the naming of Arduino is also very interesting. The microcontroller is named after the bar in Ivrea, Italy, which in turn is named after the King of Italy, from 1002 to 1014. The founders used to meet at this bar to discuss about the project. It all started in 2003 as an idea to make a device which can be used to interact with the environmental factors and perform tasks. The vision was that it should be simple and affordable (BASIC microcontroller cost $100) for starters but flexible and powerful at the same time to implement the project. The founders of project, Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis, reinvent and renamed the project as Arduino.


 what is Arduino
In simple words Arduino is like a computer but with limited functionality and is much simpler in architecture but the working is same as to read and control the electronic components attached to it. Arduino helps in building electronics projects. For. e.g. switch on the fan automatically if temperature rise above 28 degrees Celsius. Water the plants if the humidity level reach below certain level Or, switch on the light if the ambient light is decreased to certain lumen etc. The possibilities are endless for a day to day life. It’s like you tell microcontroller what you will be sending as input and what output will be generated by it, both physical and digital.

Imagine how much simpler we can make our working, if we know how to use this device. The Arduino's products are distributed as open-source hardware and software, licensed under the GNU, Lesser General Public License (LGPL) or the GNU General Public License (GPL). Anyone can openly use, modify and reuse the associated hardware and software for their projects. The hardware blueprints are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino website.


High Level Design
Arduino has two parts to it the first is physical programmable circuit board or microcontroller and second is a software which is used to program this microcontroller. The software or IDE (Integrated Development Environment) runs on the computer on which we write program or computer code which then is transferred to microcontroller through USB to perform programmed logic on defined conditions. The programming language which is used to create program for microcontroller is simplified version of c++. The IDE is cross-platform application and itself it is written in Java/c/c++. It provides editing features like cut, copy, paste, brace matching etc. and also, compilation, upload of program and much more.

How does it work
The microcontroller comes preprogrammed with boot loader. Which in simple language means that it comes in ready to use state. User can directly upload the program into the on-chip flash memory through USB cable. The bootloader is the program which executes as soon as the microcontroller is turned on.

Common Components
Arduino is technically an AVR 8bit microcontroller. AVR is a group of microcontrollers developed by Atmel in 1996. It means that this microcontroller can understand the instruction in simple 8bit instruction set. Based on the requirements there are many components which can be attached to microcontrollers for desired functionalities. The components include wide variety of inputs, outputs, resistors, wires and breadboards, sensors, actuators, plugin boards for additional functionality, lights etc.
Components can be categorized but not limited to -
        Microcontroller - most of them comes with internal clock of 8mhz, bootloader and circuit.

         Breadboard is a board with grid of holes to plug in the components and wires to complete the circuit without the need of soldering. This is best match for the prototyping projects where soldering can cause permanent fixing of the component.

        Sensors are electronic devices that can measure light, temperature, degree of flex, pressure, proximity, acceleration, carbon monoxide, radioactivity, humidity, barometric pressure and other wide variety of factors.

        Shields are ready to use expansions of Arduino on separate circuit boards which can be connected to the Arduino to provide additional capabilities from controlling hardware, online connectivity, networking, display control, and much more.

        Power management - for most Arduinos operate on 5v to power the microcontroller and anything connected to it, although there are some 3.3volt versions also.

        Libraries- open source code that is created be other users to make things easier for starters and novice. They can be imported in IDE and used to avoid low level programming to control components and works as bridge to make program code more human readable format.


Programs
Programming the board is simple but with some learning curve.  First, we have to setup the environment and tell the IDE that which Arduino we are going to program in Tools menu. There are two versions of IDE online and offline. The online version is always the latest, the projects are saved online on cloud which means that they are available anywhere with internet connection and no installation is required. While offline version is more reliable where internet connectivity is limited. There are many free libraries created by third party users which can be used to augment the projects. A program written with the IDE for Arduino is called a sketch with file extension .ino. or .pde for earlier version.

Products
It is advised that if you are new to microcontrollers, go for the UNO board. It is the simplest and most affordable to make prototype and commit mistakes to learn and grow.  At the time of writing the current version of UNO is R3. And the IDE software is readily available on the Arduino website free of cost due to its Open Source nature. Then there are others like Arduino Mega which is more featureful version than UNO. Or, Arduino Leonardo which is microcontroller with built in USB. The whole list is available on Arduino website.

Where to get it
With increasing popularity of DIY projects and awareness of microcontrollers. Arduino is now mostly available on online store such as amazon etc. It is also available on RadioShack. The price of Arduino basic starter kit known as UNO is most affordable with around INR350 in India. The cost of project will increase with additional sensors, wires, breadboards, motors or any additional components which are sold separately. There are many distributors who are selling them in local areas for school projects, office buildings etc.


Path forward
It is estimated by Adafruit Industries, a New York City supplier of Arduino boards, parts, and assemblies, that by 2013 more than 700,000 were sold out. It can only be guessed that this figure would have increased by many folds. With new applications like IoT applications, wearable, 3D printing, and embedded environments, Arduino board started evolving to address the needs and challenges of these new applications.




My Opinion
It’s not that Arduino is the only available microcontroller out their platforms such as Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and many others offer similar functionality. The difference is the ease of use, learning curve, flexibility and wide array of shields and community around Arduino bring it to its maturity. It is low cost, runs on windows, mac, Linux, simple, open source, non-copyrighted hardware

I am seriously thinking some of the projects to give it a try like 1. Auto proximity detection to turn light, fan on and off, 2. Water tank auto filling. I will let you AZs know once I build it. 




More On Arduino -
Repository - https://github.com/arduino/Arduino
Written in - Java, C, C++
Operating system -Windows, macOS, Linux
Platform - IA-32, x86-64, ARM
Type - Integrated development environment
License - LGPL or GPL license
Website - www .arduino .cc

My Other Links
----------------------------------------------------------------------------
Articles List : https://azblogs4u.blogspot.in/p/articles-list.html
Youtube Channel : Learnitium - https://www.youtube.com/channel/UChlqyi2M5ywy85FSHI0i-tg
----------------------------------------------------------------------------
Credits -
References -
The Absolute Beginner's Guide to Arduino | Forefront.io: http://forefront.io/a/beginners-guide-to-arduino/
Arduino - Home: https://www.arduino.cc/
Arduino - Wikipedia: https://en.wikipedia.org/wiki/Arduino
What is an Arduino? - learn.sparkfun.com: https://learn.sparkfun.com/tutorials/what-is-an-arduino
Arduino - Introduction: https://www.arduino.cc/en/Guide/Introduction
How does the arduino work? What does each component do? How ...: https://www.quora.com/How-does-the-arduino-work-What-does-each-component-do-How-does-it-all-come-together

Images -

Comments

Popular posts from this blog

Tenalirama: Man who bring kingdom to its knees with rice and chessboard !

DFC_DOCBROKER_EXCLUDED: Primary Docbroker Blacklisted

Enabling Mouse Cursor Recording In OBS