Menu
A microcontroller board based on the Schematic: arduino-uno-schematic.pdf. Power Datasheet Arduino Uno. The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 (datasheet). Schematic: arduino-mega2560_R3-schematic.pdf on the ICSP header, which is physically compatible with the Uno, Duemilanove and Diecimila. (adc5)pc5 28 (adc4)pc4 27 (adc3)pc3 26 (adc2)pc2 25 (adc1)pc1 24 (adc0)pc0) 23 (sck)pb5 19 (miso)pb4 18 (mosi)pb3 17 (ss)pb2 16 (oc1)pb1 15 (icp)pb0 14 (ain1)pd7 13 (ain0)pd6.
[Click the image to enlarge it]
Pin Description
Pin Category | Pin Name | Details |
Power | Vin, 3.3V, 5V, GND | Vin: Input voltage to Arduino when using an external power source. 5V: Regulated power supply used to power microcontroller and other components on the board. 3.3V: 3.3V supply generated by on-board voltage regulator. Maximum current draw is 50mA. GND: ground pins. |
Reset | Reset | Resets the microcontroller. |
Analog Pins | A0 – A5 | Used to provide analog input in the range of 0-5V |
Input/Output Pins | Digital Pins 0 - 13 | Can be used as input or output pins. |
Serial | 0(Rx), 1(Tx) | Used to receive and transmit TTL serial data. |
External Interrupts | 2, 3 | To trigger an interrupt. |
PWM | 3, 5, 6, 9, 11 | Provides 8-bit PWM output. |
SPI | 10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK) | Used for SPI communication. |
Inbuilt LED | 13 | To turn on the inbuilt LED. |
TWI | A4 (SDA), A5 (SCA) | Used for TWI communication. |
AREF | AREF | To provide reference voltage for input voltage. |
Arduino Uno Technical Specifications
Microcontroller | ATmega328P – 8 bit AVR family microcontroller |
Operating Voltage | 5V |
Recommended Input Voltage | 7-12V |
Input Voltage Limits | 6-20V |
Analog Input Pins | 6 (A0 – A5) |
Digital I/O Pins | 14 (Out of which 6 provide PWM output) |
DC Current on I/O Pins | 40 mA |
DC Current on 3.3V Pin | 50 mA |
Flash Memory | 32 KB (0.5 KB is used for Bootloader) |
SRAM | 2 KB |
EEPROM | 1 KB |
Frequency (Clock Speed) | 16 MHz |
Other Arduino Boards
Arduino Nano, Arduino Pro Mini, Arduino Mega, Arduino Due, Arduino Leonardo
Overview
Arduino Uno is a microcontroller board based on 8-bit ATmega328P microcontroller. Along with ATmega328P, it consists other components such as crystal oscillator, serial communication, voltage regulator, etc. to support the microcontroller. Arduino Uno has 14 digital input/output pins (out of which 6 can be used as PWM outputs), 6 analog input pins, a USB connection, A Power barrel jack, an ICSP header and a reset button.
How to use Arduino Board
The 14 digital input/output pins can be used as input or output pins by using pinMode(), digitalRead() and digitalWrite() functions in arduino programming. Each pin operate at 5V and can provide or receive a maximum of 40mA current, and has an internal pull-up resistor of 20-50 KOhms which are disconnected by default. Out of these 14 pins, some pins have specific functions as listed below:
- Serial Pins 0 (Rx) and 1 (Tx): Rx and Tx pins are used to receive and transmit TTL serial data. They are connected with the corresponding ATmega328P USB to TTL serial chip.
- External Interrupt Pins 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.
- PWM Pins 3, 5, 6, 9 and 11: These pins provide an 8-bit PWM output by using analogWrite() function.
- SPI Pins 10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK): These pins are used for SPI communication.
- In-built LED Pin 13: This pin is connected with an built-in LED, when pin 13 is HIGH – LED is on and when pin 13 is LOW, its off.
Along with 14 Digital pins, there are 6 analog input pins, each of which provide 10 bits of resolution, i.e. 1024 different values. They measure from 0 to 5 volts but this limit can be increased by using AREF pin with analog Reference() function.
- Analog pin 4 (SDA) and pin 5 (SCA) also used for TWI communication using Wire library.
Arduino Uno has a couple of other pins as explained below:
- AREF: Used to provide reference voltage for analog inputs with analogReference() function.
- Reset Pin: Making this pin LOW, resets the microcontroller.
Communication
Arduino can be used to communicate with a computer, another Arduino board or other microcontrollers. The ATmega328P microcontroller provides UART TTL (5V) serial communication which can be done using digital pin 0 (Rx) and digital pin 1 (Tx). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The ATmega16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. There are two RX and TX LEDs on the arduino board which will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (not for serial communication on pins 0 and 1). A SoftwareSerial library allows for serial communication on any of the Uno's digital pins. The ATmega328P also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus.
Arduino Uno to ATmega328 Pin Mapping
When ATmega328 chip is used in place of Arduino Uno, or vice versa, the image below shows the pin mapping between the two.
Software
Arduino IDE (Integrated Development Environment) is required to program the Arduino Uno board. Download it here.
Programming Arduino
Once arduino IDE is installed on the computer, connect the board with computer using USB cable. Now open the arduino IDE and choose the correct board by selecting Tools>Boards>Arduino/Genuino Uno, and choose the correct Port by selecting Tools>Port. Arduino Uno is programmed using Arduino programming language based on Wiring. To get it started with Arduino Uno board and blink the built-in LED, load the example code by selecting Files>Examples>Basics>Blink. Once the example code (also shown below) is loaded into your IDE, click on the ‘upload’ button given on the top bar. Once the upload is finished, you should see the Arduino’s built-in LED blinking. Below is the example code for blinking:
Applications
- Prototyping of Electronics Products and Systems
- Multiple DIY Projects.
- Easy to use for beginner level DIYers and makers.
- Projects requiring Multiple I/O interfaces and communications.
Arduino Uno 2D Model
Developer | Arduino |
---|---|
Manufacturer | Many |
Type | Single-board microcontroller[1] |
Operating system | None |
CPU | MicrochipAVR (8-bit) |
Memory | SRAM |
Storage | Flash, EEPROM |
The Arduino Uno is an open-sourcemicrocontroller board based on the MicrochipATmega328P microcontroller and developed by Arduino.cc.[2][3] The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits.[1] The board has 14 Digital pins, 6 Analog pins, and programmable with the Arduino IDE (Integrated Development Environment) via a type B USB cable.[4] It can be powered by the USB cable or by an external 9-volt battery, though it accepts voltages between 7 and 20 volts. It is also similar to the Arduino Nano and Leonardo.[5][6] The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.
The word 'uno' means 'one' in Italian and was chosen to mark the initial release of the Arduino Software.[1] The Uno board is the first in a series of USB-based Arduino boards,[3] and it and version 1.0 of the Arduino IDE were the reference versions of Arduino, now evolved to newer releases.[4] The ATmega328 on the board comes preprogrammed with a bootloader that allows uploading new code to it without the use of an external hardware programmer.[3]
While the Uno communicates using the original STK500 protocol,[1] it differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it uses the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.[7]
- 3Pins
- 4Communication
Background[edit]
an early production board
The Arduino project started at the Interaction Design Institute Ivrea (IDII) in Ivrea, Italy. At that time, the students used a BASIC Stamp microcontroller at a cost of $100, 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, who are known for work on the Processing language. The project goal was to create simple, low-cost tools for creating digital projects by non-engineers. The Wiring platform consisted of a printed circuit board (PCB) with an ATmega168 microcontroller, an IDE based on Processing and library functions to easily program the microcontroller.[8]In 2003, Massimo Banzi, with David Mellis, another IDII student, and David Cuartielles, added support for the cheaper ATmega8 microcontroller to Wiring. But instead of continuing the work on Wiring, they forked the project and renamed it Arduino. Early arduino boards used the FTDI USB-to-serial driver chip and an ATmega168.[8] The Uno differed from all preceding boards by featuring the ATmega328P microcontroller and an ATmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.
Technical specifications[edit]
- Microcontroller: MicrochipATmega328P[7]
- Operating Voltage: 5 Volts
- Input Voltage: 7 to 20 Volts
- Digital I/O Pins: 14 (of which 6 provide PWM output)
- Analog Input Pins: 6
- DC Current per I/O Pin: 20 mA
- DC Current for 3.3V Pin: 50 mA
- Flash Memory: 32 KB of which 0.5 KB used by bootloader
- SRAM: 2 KB
- EEPROM: 1 KB
- Clock Speed: 16 MHz
- Length: 68.6 mm
- Width: 53.4 mm
- Weight: 25 g
Pins[edit]
Arduino UNO
General pin functions[edit]
- LED: There is a built-in LED driven by digital pin 13. When the pin is high value, the LED is on, when the pin is low, it's off.
- VIN: The input voltage to the Arduino/Genuino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
- 5V: This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 20V), the USB connector (5V), or the VIN pin of the board (7-20V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage the board.
- 3V3: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
- GND: Ground pins.
- IOREF: This pin on the Arduino/Genuino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs to work with the 5V or 3.3V.
- Reset: Typically used to add a reset button to shields which block the one on the board.[7]
Special pin functions[edit]
Each of the 14 digital pins and 6 analog 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 20 mA as recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller. The 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.[7]
In addition, some pins have specialized functions:
- Serial / UART: pins 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.
- External interrupts: pins 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.
- PWM (pulse-width modulation): 3, 5, 6, 9, 10, and 11. Can provide 8-bit PWM output with the analogWrite() function.
- SPI (Serial Peripheral Interface): 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library.
- TWI (two-wire interface) / I²C: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire library.
- AREF (analog reference): Reference voltage for the analog inputs.[7]
Communication[edit]
The Arduino/Genuino Uno has a number of facilities for communicating with a computer, another Arduino/Genuino board, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The 16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. The Arduino Software (IDE) includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows serial communication on any of the Uno's digital pins.[7]
Automatic (software) reset[edit]
Rather than requiring a physical press of the reset button before an upload, the Arduino/Genuino Uno board is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip.[7]
This setup has other implications. When the Uno is connected to a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened.[7]
See also[edit]
References[edit]
- ^ abcd'Arduino UNO for beginners - Projects, Programming and Parts'. makerspaces.com. Retrieved 4 February 2018.
- ^http://medea.mah.se/2013/04/arduino-faq/
- ^ abc'What is Arduino?'. learn.sparkfun.com. Retrieved 4 February 2018.
- ^ ab'Introduction to Arduino'(PDF). priceton.edu. Retrieved 4 February 2018.
- ^'Arduino'. store.arduino.cc. Retrieved 24 February 2018.
- ^
- ^ abcdefghofficial website. Content was copied from this source, which is licensed under the Creative Commons Attribution-Share Alike 3.0 (Unported) (CC-BY-SA 3.0) license.
- ^ abHernando Barragán (2016-01-01). 'The Untold History of Arduino'. arduinohistory.github.io. Retrieved 2016-03-06.
External links[edit]
Wikimedia Commons has media related to Arduino. |
- Arduino Uno Board Pinout Diagram, ATmega328 SMD Pinout Diagram
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Arduino_Uno&oldid=915395693'