Arduino

Arduino is hardware, based on microcontrollers(ATmega8, ATmega168, ATmega328, ATmega1280, ATmega2560) which can be used for different applications as a prototype computing platform, which can work almost like a microcomputer.

It is a open source Hardware-Software Platform

The Arduino board contains the microcontroller as its processing unit, memory, cache, interfaces, inputs and output pins, and all other interfaces which are required to use it as a processing unit.

Image : Arduino Rev 3

arduino1

The above is a picture of an Arduino Uno Rev 3 board. This uses Atmel's ATMega328 Microcontroller. This is the first microcontroller which marks the invention of the Arduino Series. Earlier it was Arduino Uno and after slight modifications, they named it as Arduino Uno Rev 3.

This is the Best Arduino to start with and we shall confine our entire discussion up to this Arduino. The code written in the Arduino IDE can be later transferred to any other versions of Arduino, it will work fine.

History of Arduino

The Arduino Project started in Interaction Design Institute Ivrea, Italy. It was a project started by the students of the institute under the supervision of Massimo Banzi and Casey Reas.

Later in 2003, they named the Project as Arduino. The first microcontroller used in the board was ATMega328P, which is still popular in some variants of Arduino.

Who should Learn Arduino?
  • One who is interested in building automatic performing hardware.
  • One who wants to know how a small microcontroller can be used to perform infinite tasks.
  • One who wants to build different hardware-based projects.
  • One who is born in this generation should learn Arduino.
It is difficult to learn Arduino?

Absolutely NO!

What is the scope after I learn Arduino?
  • You will be able to create your own Arduino-Based projects.
  • You will be able to create different applications of Arduino in Automations.
  • You will be able to use Arduino in the Internet of Things(IoT) which is the cutting edge technology of this time.
  • You will learn how the computer you are using right now, has evolved from time to time.
  • You will be able to create your own small computer itself if you take Arduino Seriously.

Pre-Requisites for Arduino

There are exactly no pre-requisites for Arduino. But since, Arduino is run by software instructions, which is nothing but programming language, therefore, below are the prerequisites:

Software Requisites:

  • Windows or Linux or MAC operating system.
  • Arduino Official Software for writing sketches.

Hardware Requisites:

  • The Arduino Board. (Anyone variant of Arduino you can choose, Arduino Uno is Advisable).
  • Computer(32 bit or 64 bit) where you can install the required OS and the Arduino Software respectively.
  • Additional hardware components such as LED, bread-board, wires, sensors, etc to get started with. (Optional).

Skill Requisites:

  • Basic knowledge of electronics components such as Resistors, potentiometers, transistors, diodes, etc
  • Basic knowledge of wire connections and component connections.
  • Basic knowledge of C or C++ programming.
Where can I get an Arduino?

Firstly, there is an Original Arduino which you can order from the Official Website of Arduino Store. Since it may seem more costly for you as a beginner, you can also order the clone version of Arduino which will work the same as the original. These are available on different e-commerce websites such as- Amazon.in, Flipkart.in, etc.

Which Arduino Should I Buy?

If you are a beginner, we suggest you start with Arduino Uno. Since the code you write for one variant Arduino is transferrable to all other variants of Arduino without or minute change in the code, so you can start with the simplest one- Arduino Uno Rev 3.

Is it expensive?

Nope ! you can get it at below Rs. 500.

How much Time Required to get started?

Less than 1 Hour.

Types of Arduino

There are different types of Ardiuinos which have evolved from time to time. There are different variants of Arduinos based on different microcontrollers.

There are some parameters that differentiate the Arduinos from one to another. The parameters are:

  • Operating Voltage : Operating voltage of any microcontroller is the voltage which is actually used by the micro-controller to carry out its logical operations. There may be different voltage regulators integrated on the boards, but the input voltage must be converted into the operating voltage of the microcontroller in order to make it active.
  • Clock Speed: For any microcontroller in this world there should be an internal clock that decides the timing for instruction execution and a number of cycles of operation performed by the microcontroller in unit time. There is an integrated oscillator which keeps generating frequencies constantly when the microcontroller is turned on. The microcontroller can even divide the frequency, for its own use.
  • Digital Pins(I/O): These are Pins which can read the input logic level of 0 and 1 or can logic output. These Pins can be used to drive many different electronics components or circuits which accepts logical inputs.
  • Analogue Pins(Input): These are Pins which can read analog inputs from different electronics components- such as sensors, etc and convert it into a digital equivalent, which can be understood by the microcontroller.
  • PWM : Pulse Width Modulation, is nothing but a process of converting the digital signal to an analog signal. Some microcontrollers do not have extra Pins for PWM, but Arduino has some Pins for PWM.
  • UART: Universal Asynchronous Reciever-Transmitter(UART), is a small device integrated on the Arduino Board, which contains a shift Register, for transferring data in a sequence. It is a form of serial communication.
  • Programming Interface: This is the type of the interface which is used to upload the code or to program the Arduino.

Now, based on these above parameters and different microcontrollers, the Arduinos have been named.

Based On ATMega328 Microcontroller
Board Name Operating Voltage Clock Speed(in MHz) Digital Pins(I/O) Analogue Pins (Input) PWM UART Programming Interface
Arduino Uno R3 5v 16 14 6 6 1 USB via AtMega 16U
Arduino Uno R3 SMD 5v 16 14 6 6 1 USB via ATMega 16U
Red Board 5v 16 14 6 6 1 USB via FTDI
Arduino Pro 3.3v/8 Mhz 3.3v 8 14 6 6 1 FTDI Compatible Header
Arduino Pro 5v/16MHz 5v 16 14 6 6 1 FTDI Compatible Header
Arduino mini 05 5v 16 14 8 6 1 FTDI Compatible Header
Arduino Pro mini 3.3v/8Mhz 3.3v 8 14 8 6 1 FTDI Compatible Header
Arduino Pro mini 5v/16Mhz 5v 16 14 8 6 1 FTDI Compatible Header
Arduino Ethernet 5v 16 14 6 6 1 FTDI Compatible Header
Arduino Fio 3.3v 8 14 8 6 1 FTDI Compatible Header
LilyPad Arduino 28 main board 3.3v 8 14 6 6 1 FTDI Compatible Header
LilyPad Arduino 328 simple board 3.3v 8 9 4 5 0 FTDI Compatible Header
Based On ATMegaA32u4 Microcontroller
Board Name Operating Voltage Clock Speed(in MHz) Digital Pins(I/O) Analogue Pins (Input) PWM UART Programming Interface
Arduino Leonardo 5 16 20 12 7 1 Native USB
Pro Micro 5v/16MHz 5 16 14 6 6 1 Native USB
Pro Micro 3.3v/8MHz 5 16 14 6 6 1 Native USB
LilyPad Arduino USB 3.3 8 14 6 6 1 Native USB
Based On ATMegaA2650 Microcontroller
Board Name Operating Voltage Clock Speed(in MHz) Digital Pins(I/O) Analogue Pins (Input) PWM UART Programming Interface
Arduino Mega 2560 R3 5 16 54 16 14 4 USB via ATMega 16U2B
Mega Pro 3.3v 3.3 8 54 16 14 4 FTDI Compatible Header
Mega pro 5v 5 16 54 16 14 4 FTDI Compatible Header
Mega Pro Mini 3.3V 3.3 8 54 16 14 4 FTDI Compatible Header
Based On AT91SAM3X8E Microcontroller
Board Name Operating Voltage Clock Speed(in MHz) Digital Pins(I/O) Analogue Pins (Input) PWM UART Programming Interface
Arduino Mega 2560 R3 3.3 V 84 Mhz 54 12 12 4 Native USB

In our Tutorial, we shall discuss the Arduino Uno Rev 3. It is the best Arduino to start and can be used in different applications. The best thing about Arduino is, once the code is developed in the Arduino IDE, after that the code can be transferred to other variants of Arduino with no or negligible modifications in the programs.

A Simple Introduction to Raspberry Pi

Raspberry Pi is a micro-computer board, which has all the components which a full-fledged computer should have.

It all its own processor, a dedicated memory and all the peripherals (chipsets) which are required to make communications to the external devices such as LCD, speakers, keyboard, etc. The Raspberry Pi comes with a Linux Operating system, which can perform all the tasks such as- calculations, multimedia streamings, etc like a computer.

You can even change the operating system and install a different Operating System in it. There are variants of Raspberry Pi which are even using an advanced operating system like Windows 10.

A Raspberry Pi can be easily converted into a mini-computer by connecting all the external input and output devices into it.

Arduino Vs Raspberry Pi

  • Arduino is an easy to use software-hardware platform. On the other hand, Raspberry Pi is not easy to use hardware.
  • Arduino can be easily used to implement simple projects with less cost and effort. On the other hand, to make a simple project using a Raspberry PI, lots of studies is required.
  • Arduino is bare hardware which lets to interact with the microcontroller almost directly. On the other hand, Raspberry PI is complicated hardware, of which you can use only the interfaces, and cannot use or program the microcontroller directly.
  • Arduino operated with a single voltage and is less sensitive when used in projects. On the other hand, the Raspberry PI uses different voltages and is more sensitive.
  • Arduino Requires the understanding of programs. On the other hand, Raspberry Pi can be used directly without understanding the internal programs and all.
Which programming should I learn for Arduino?

Arduino uses subsets of C or C++ programming. The only thing is that you can use some of the syntaxes and all the logics of C or C++ programming, but you cannot use the C or C++ standard library. Besides that, you cannot use some of the functionalities of a typical programming language.

Arduino Programming

Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions