Wednesday, February 23, 2011

Arduino Uno





The Arduino Uno is a microcontroller board based on the ATmega328 replaced old version Arduino called Arduino Duemilanove. Arduino Uno will initially be named Arduino Uno Punto Zero (Italian) which means Arduino 1.0. However, that name is to long, so to be short and easily remembered by the world, finally selected the name Arduino Uno, orArduino version 1.0
Arduino Uno has significant changes compared with the change of board Diecimila to Duemilanove (2009).

Changes are on the Arduino Uno can be summarized as follows:

  1. Not using FT232RL FTDI chip USB converter, but uses a specially programmed ATMega8U2 so that the upload process and faster serial communication.
  2. Using LUFA project as a framework for AVR USB is relatively small and fast.
  3. Bootloader size is smaller, only a quarter of the old bootloader for using Optiboot. The result will leave more space to store the program.
  4. Arduino board can be recognized as a keyboard, mouse, joystick, etc.. with how to program the chip Atmega8U2,
  5. Already have own logo (trade mark).
  6. The size of the Arduino Uno remain compatible with arduino shields before it. Formation spacing header pins is same   so that the shields we have can still be used.



Arduino Uno Specifications:

MicrocontrollerATmega328
Operating Voltage5V
Input Voltage (recommended)7-12V
Input Voltage (limits)6-20V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins6
DC Current per I/O Pin40 mA
DC Current for 3.3V Pin50 mA
Flash Memory32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM2 KB (ATmega328)
EEPROM1 KB (ATmega328)
Clock Speed16 MHz

If you need to know about Arduino Uno Schematics and Reference design, You can download it at below link.
EAGLE files: Arduino Uno Reference Design.Zip
Schematic: Arduino Uno Schematic.pdf

Arduino Power
The Arduino Uno can be powered via the USB connection or with an external power supply. Other power source is come from AC to DC Adaptor and Battery. The power source is selected automatically.
The board can operate on external supply from 6 to 20 volts. If power less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. So, the recommended range is 7 to 12 volts.


Input and Output
Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.
Some pins also have specialized functions:

  1. Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
  2. External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. 
  3. PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
  4. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library.
  5. LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
Arduino Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function. Other some pins have specialized functionality:
  1. I2C: A4 (SDA) and A5 (SCL): Support I2C (TWI) communication using the Wire library. 
  2. AREF: Reference voltage (0 to 5V only) for the analog inputs. Used with analogReference().
  3. Reset: Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus.

Programming
The Arduino Uno can be programmed with the Arduino software. Select "Arduino Uno from the Tools > Board menu (according to the microcontroller on your board). 
The ATmega328 on the Arduino Uno comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header.
The ATmega8U2 firmware source code is available . The ATmega8U2 is loaded with a DFU bootloader, which can be activated by connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2. You can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and Linux) to load a new firmware. Or you can use the ISP header with an external programmer (overwriting the DFU bootloader). 
Arduino programming language is the C Language. But this language has been simplified using simple functions so that even beginners can learn it easily enough.
To make Arduino and upload the program into the Arduino board, you need the Arduino software IDE (Integrated Development Environment) that can be downloaded free at here.
Arduino programming language manual along with examples can be read at here.

For more information, please refer to Arduino Uno Hompage



No comments:

Post a Comment