Monday, September 2, 2013

Arduino – Basics and Design

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.

No comments :

Post a Comment

feel free and ask...

IP Address Checker