Today, the world is developing so fast. But the question is, are we?
Today’s stunning technologies are used by us all the day, all the time. Sometimes, we are ourselves fascinated by what we are able to do by just the click of a button. But, what if, we could make all of that, ourselves?
So, the question arises, how can I make fascinating technologies?
The answer is simple: Learning electronics.
And, how to start with it?
The answer is: ARDUINO
All those people who are interested in robotics or hardware engineering might be familiar with Arduino, unless you haven’t made anything from it yet. Arduino is a open-source (open to public) electronic platform based on easy-to-use hardware and software. In other words (for a simpler definition), Arduino refers to an open-source electronics board and the software used to program it. Arduino is a fantastic way for anyone to learn about robotics, hardware engineering and programming. Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. Arduino boards are able to read inputs — light on a sensor, a finger on a button, or a Twitter message — and turn it into an output — activating a motor, turning on an LED or publishing something online.
Excited to learn it? Here we go!
The Arduino project was started at the Interaction Design Institute Ivrea (IDII) in Ivrea, Italy. The project goal was to create simple, low cost tools for creating digital projects. At that time, the students used a BASIC Stamp microcontroller at a cost of $50, a considerable expense for many students. In 2003 Hernando Barragán created the development platform Wiring as a Master’s thesis project at IDII, under the supervision of Massimo Banzi and Casey Reas. Wiring was important for Arduino since it is based on wiring in both software and programming language. In 2005, Massimo Banzi, with David Mellis, another IDII student, and David Cuartielles, extended Wiring by adding support for the cheaper ATmega8 microcontroller. The new project, forked from Wiring, was called Arduino.
“Hardware becomes a piece of culture that anyone can build upon, like a poem or a song.” — Massimo Banzi
We know what is Arduino, but why should we choose it. There are dozens of other options out there, so why Arduino:
Arduino is an open-source electronic platform. This means that, not only can the public openly use the software and hardware, it can also constantly update and modify the hardware and software, proving Arduino to be diverse collection of boards. As a matter of fact, huge amounts of software libraries have been made by people at various communities to make the Arduino capable of working and behaving much better with more and more electronic components which are coming up.
Apart from that, Arduino is also one of the most cloned microcontroller boards out their. This means that Arduino is unexpectedly cheap. Moreover, Arduino gives a lot of options to choose from while building your project. It has several boards, some small, some large, each having their own features.
Not only that, the Arduino IDE (Integrated Development Environment) is an all-in-one software IDE, which allows us to program in the same language, for almost every Arduino board! This helps a lot as we do not have to download a different IDE each time we buy a different Arduino board.
Since Arduino is an open-source electronic platform, a worldwide community of makers — students, hobbyists, artists, programmers, and professionals — has gathered around this platform, and their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike :)
“A child educated only in school is an uneducated child” — Unknown
Arduino is open-source hardware. This means layout and production files for some versions of the hardware are also available. Although hardware and software designs for the Arduino boards are freely available under the copyleft license, the developers have requested the name “Arduino” to be exclusive to the official product and not be used for derived works without permission. Most Arduino boards consist of an Atmel 8-bit AVR microcontroller (ATmega8, ATmega168, ATmega328, ATmega1280, or ATmega2560) with varying amounts of flash memory, pins, and features. The most famous and common boards include Arduino UNO, Arduino Mega and Arduino Nano. The boards use single or double-row pins or female headers that facilitate connections for programming and incorporation into other circuits. This allows for the connection of wires with male heads and also the connections for shields. Shields here refer to special Arduino boards that can be attached over other boards, so as to increase their functionality. Some Arduino boards also include ethernet connections, while some are as small as your thumb! Special Arduino boards like the Arduino Lily can also be stitched upon clothes, to make wearable devices.
Any hardware is useless without a software. We need someone to explain the boards what we need them to do. For this, we have to speak the board’s language. This language is known as machine code and it exists as a series of 1’s and 0’s inside the memory of the board or the computer. Although machine code might be great for computers, it is extremely difficult for humans to understand. Early computers in the 1940’s and 1950’s had what was known as an Assembler. The job of this assembler was to translate assembly language into machine code. Users could write instructions for the computer known as a program with numbers and things that almost looked like words. While it was still difficult to understand, the language was also unique to each type of computer. It was better than writing a machine code but having to write assembly and learn a new set of instruction for each new computer was quite burdensome. So, people began to create high-level programming languages in the 1950’s, such as COBOL, Lisp and Fortran. These languages did not talk in the native language of the computers, but relied on a compiler to translate the high-level language into something the computer can understand. A compiler is simply a program that does the above mentioned work. When you write a program in Arduino, you write in the combination of C and C++ which is a high-level programming language used to construct instructions for Arduino. Arduino has a special software known as the Arduino IDE (short for, Integrated Development Environment) which provides us an environment to write our code into and upload it to the Arduino board.
That was all about Arduino, and believe me, this was just an introduction. Further, we will be diving deeper into this marvelous world of electronics, made up of wires and pcb’s!
Till then, Keep innovating!