Defining Arduino
An Arduino is actually
a microcontroller which can be either used directly by purchasing from the
vendor or can be made at home using the components, owing to its open source
hardware feature. It is basically used in communications and in controlling or
operating many devices. It was founded by Massimo Banzi and David Cuartielles
in 2005.
Arduino Architecture:
Arduino’s processor
basically uses the Harvard architecture where the program code and program data
have separate memory. It consists of two memories- Program memory and the data
memory. The code is stored in the flash program memory, whereas the data is
stored in the data memory. The Atmega328 has 32 KB of flash memory for storing
code (of which 0.5 KB is used for the bootloader), 2 KB of SRAM and 1 KB of
EEPROM and operates with a clock speed of 16MHz.
Arduino Pin Diagram
A typical example of Arduino board is Arduino Uno.
It consists of ATmega328- a 28 pin microcontroller.
Arduino Uno consists
of 14 digital input/output pins (of which 6 can be used as PWM outputs), 6
analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an
ICSP header, and a reset button
Power Jack: Arduino can be power either from the
pc through a USB or through external source like adaptor or a battery. It can
operate on a external supply of 7 to 12V. Power can be applied externally
through the pin Vin or by giving voltage reference through the IORef pin.
Digital Inputs: It consists of 14 digital inputs/output
pins, each of which provide or take up 40mA current. Some of them have special
functions like pins 0 and 1, which act as Rx and Tx respectively , for serial
communication, pins 2 and 3-which are external interrupts, pins 3,5,6,9,11
which provides pwm output and pin 13 where LED is connected.
Analog inputs: It has 6 analog input/output pins, each
providing a resolution of 10 bits.
ARef: It provides reference to the analog inputs
Reset: It resets the microcontroller when low.
Programming Arduino
The most important
advantage with Arduino is the programs can be directly loaded to the device
without requiring any hardware programmer to burn the program. This is done
because of the presence of the 0.5KB of Bootloader which allows the program to
be burned into the circuit. All we have to do is to download the Arduino
software and writing the code.
The Arduino tool
window consists of the toolbar with the buttons like verify, upload, new, open,
save, serial monitor. It also consists of a text editor to write the code, a
message area which displays the feedback like showing the errors, the text
console which displays the output and a series of menus like the File, Edit,
Tools menu.
Steps to program an Arduino
·
Programs written in
Arduino are known as sketches. A basic sketch consists of 3 parts
o Declaration of Variables
o Initialization: It is written in the setup ()
function.
o Control code: It is written in the loop ()
function.
·
The sketch is saved
with .ino extension. Any operations like verifying, opening a sketch, saving a
sketch can be done using the buttons on the toolbar or using the tool menu.
·
The sketch should be
stored in the sketchbook directory.
·
Chose the proper board
from the tools menu and the serial port numbers.
·
Click on the upload
button or chose upload from the tools menu. Thus the code is uploaded by the
bootloader onto the microcontroller.
Few of Basic Adruino Functions are:
·
DigitalRead(pin):
Reads the digital value at the given pin.
·
DigitalWrite(pin,
value): Writes the digital value to the given pin.
·
PinMode(pin, mode):
Sets the pin to input or output mode.
·
AnalogRead(pin): Reads
and returns the value.
·
AnalogWrite(pin,
value): Writes the value to that pin.
·
Serial.begin(baud
rate): Sets the beginning of serial communication by setting the bit rate.
Designing your own Arduino:
We can also design our
own Arduino by following the schematic given by the Arduino vendor and also
available at the websites. All we need are the following components- A
breadboard, a led, a power jack, a IC socket, a microcontroller, few resistors,
2 regulators, 2 capacitors.
·
The IC socket and the
power jack are mounted on the board.
·
Add the 5v and 3.3v
regulator circuits using the combinations of regulators and capacitors.
·
Add proper power
connections to the microcontroller pins.
·
Connect the reset pin
of the IC socket to a 10K resistor.
·
Connect the crystal
oscillators to pins 9 and 10
·
Connect the led to the
appropriate pin.
·
Mount the female
headers onto the board and connect them to the respective pins on the chip.
·
Mount the row of 6
male headers, which can be used as an alternative to upload programs.
·
Upload the program on
the Microcontroller of the readymade Adruino and then pry it off and place back
on the user kit.