Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Arduino Uno

From Wikipedia, the free encyclopedia
Microcontroller board
Arduino Uno
Arduino Uno R3 SMD board withATmega328PMCU inSMD package
Developerarduino.cc
ManufacturerMany
TypeSingle-board microcontroller[1]
AvailabilityUno R4 webpage
Operating systemNone, with bootloader (default),FreeRTOS
CPU
MemorySRAM
StorageFlash,EEPROM
Websitearduino.cc

TheArduino Uno is a series ofopen-sourcemicrocontroller board based on a diverse range ofmicrocontrollers (MCU). It was initially developed and released byArduino company in 2010.[2][3] Themicrocontroller board is equipped with sets of digital and analoginput/output (I/O) pins that may be interfaced to variousexpansion boards (shields) and other circuits.[1] The board has 14 digital I/O pins (six capable ofPWM output), 6 analog I/O pins, and is programmable with theArduino IDE (Integrated Development Environment), via a type BUSB cable.[4] It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular9-volt battery. It has the same microcontroller as theArduino Nano board, and the same headers as the Leonardo board.[5][6] The hardware reference design is distributed under aCreative 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" inItalian and was chosen to mark a major redesign of the Arduino hardware and software.[7] The Uno board was the successor of the Duemilanove release and was the 9th version in a series of USB-based Arduino boards.[8] Version 1.0 of the ArduinoIDE for the Arduino Uno board has now evolved to newer releases.[4] The ATmega328 on the board comes preprogrammed with abootloader 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 aFTDI USB-to-UART serial chip. Instead, it uses the Atmega16U2 (Atmega8U2 up to version R2) programmed as aUSB-to-serial converter.[9]

History

[edit]
ArduinoRS232 Serial board - a predecessor with ATmega8 MCU

The Arduino project started at theInteraction Design Institute Ivrea (IDII) inIvrea, Italy. At that time, the students used aBASIC Stamp microcontroller, at a cost that was aconsiderable expense for many students. In 2003, Hernando Barragán created the development platformWiring as a Master's thesis project at IDII, under the supervision of Massimo Banzi and Casey Reas, who are known for work on theProcessing language. The project goal was to create simple, low-cost tools for creating digital projects by non-engineers. The Wiring platform consisted of aprinted circuit board (PCB) with anATmega168 microcontroller, an IDE based on Processing, and library functions to easily program the microcontroller.[10]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, theyforked the project and renamed itArduino. EarlyArduino boards used the FTDI USB-to-UART serial chip and anATmega168.[10] 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.

In June 2023, Arduino released two new flavors of the Uno; R4 Minima and R4 Wifi. These mark a departure from previous boards as they useRenesas RA4M1ARM Cortex M4 microcontroller, and the R4 Wifi aEspressifESP32-S3-MINI co-processor. These versions are form factor, pin and power compatible with version R1 to R3, so should be largely be able to be drop in replacements.[11]

Technical specifications

[edit]
Arduino Uno R3 board with AVR-basedATmega328P MCU inDIP-28 package

Uno R1 to R3

[edit]
  • Digital I/O Pins: 14
  • PWM Pins: 6 (Pin # 3, 5, 6, 9, 10 and 11)[13]
  • Analog Input Pins: 6
  • DC Current per I/O Pin: 20 mA
  • DC Current for 3.3V Pin: 50 mA
  • Size: 68.6 mm x 53.4 mm
  • Weight: 25 g
  • ICSP Header: Yes
  • Power Sources:
  • USB connector. USB bus specification has a voltage range of 4.75 to 5.25 volts. The official Uno boards have a USB-B connector, but 3rd party boards may have a miniUSB / microUSB / USB-C connector.
  • 5.5mm/2.1mmbarrel jack connector. Official Uno boards support 6 to 20 volts, though 7 to 12 volts is recommended. The maximum voltage for 3rd party Uno boards varies between board manufactures because various voltage regulators are used, each having a different maximum input rating. Power into this connector is routed through a series diode before connecting to VIN to protect against accidental reverse voltage situations.
  • VIN pin on shield header. It has a similar voltage range of the barrel jack. Since this pin doesn't have reverse voltage protection, power can be injected or pulled from this pin. When supplying power into VIN pin, an external series diode is required in case barrel jack is used. When board is powered by barrel jack, power can be pulled out of this pin.[14]

Uno R4

[edit]
Arduino Uno R4 WiFi with ARM-based R7FA4M1AB MCU in 64pin SMD package

Two Uno R4 boards are available: Uno R4 Minima and Uno R4 WiFi. The latter has aWiFi coprocessor andLED matrix, but the Minima doesn't.

Common features on bothUno R4 Minima[15] andUno R4 WiFi[16] boards:

Additional features only available on theUno R4 Minima board:[15]

  • SWD programming connector. This is a 10-pin 5x2 1.27mm header for connecting the microcontroller (R7FA4M1AB) to an external SWD (serial wire debug) programming / debugging device.

Additional features only available on theUno R4 WiFi board:[16]

  • QwiicI²C connector. This 4-pin 1.00mmJST SH connector provides external connection to a 3.3 voltI²C bus. Don't attach 5 volt I²C devices directly to this connector.[18]
  • RTC battery header pin (VRTC). This pin connects an external battery to the RTC (real-time clock) inside the microcontroller (R7FA4M1AB) to keep clock running when board is powered down. Connect this pin to positive side of 1.6 to 3.6 volt battery and negative side of battery to ground header pin (GND), such as a 3 voltlithium coin battery.[17]
  • Remote-Off header pin (OFF). This pin disables the 5 volt buck switching voltage regulator (SL854102) when powered by the barrel jack or VIN header pin. Connect this pin to ground header pin (GND) to disable this voltage regulator.

Headers

[edit]
Header pinout of the Arduino Uno board

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 is off.
  • VIN: The input voltage to the Arduino/Genuino board when it is 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 that block the one on the board.[9]

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, under software control (using pinMode(), digitalWrite(), and digitalRead() functions). They operate at 5 volts. Each pin can provide or receive 20 mA as the recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50K ohm. A maximum of 40mA 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 provides 10 bits of resolution (i.e. 1024 different values). By default, they measure from ground to 5 volts, though it is possible to change the upper end of the range using the AREF pin and the analogReference() function.[9]

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): pins 3, 5, 6, 9, 10, and 11. Can provide 8-bit PWM output with the analogWrite() function.
  • SPI (Serial Peripheral Interface): pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK). These pins support SPI communication using the SPI library.
  • TWI (two-wire interface) /I²C: pin SDA (A4) and pin SCL (A5). Support TWI communication using the Wire library.
  • AREF (analog reference): Reference voltage for the analog inputs.[9]

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. 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.[9]

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 the 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.[9]

This setup has other implications. When the Uno is connected to a computer running Mac OS X orLinux, 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.[9]

Arduino board comparison

[edit]

The following table compares official Arduino boards, and has a similar layout as a table in theArduino Nano article. The table is split with a dark bar into two high-level microcontroller groups: 8-bitAVR cores (upper group), and 32-bitARM Cortex-M cores (lower group). Though 3rd-party boards have similar board names it doesn't automatically mean they are 100% identical to official Arduino boards. 3rd-party boards often have a differentvoltage regulator / different USB-to-UART chip / different colorsolder mask, and some have a differentUSB connector or additional features, too.[19]

Board
Name
& Part#
Board
Size
Group
Board
Commun-
ication
MCU
Part#
& Pins
MCU
I/O
Voltage
MCU
Core
MCU
Clock
MCU
Flash
MCU
SRAM
MCU
EEPROM
MCU
USART
&UART
MCU
SPI
MCU
I²C
MCU
Other Bus
Peripherals
MCU Timers
32/24/16/8
/WD/RT/RC
MCU
ADC
&DAC
MCU
Engines
Uno R3,[20]
A000066,[9]
Uno R3 SMD,[21]
A000073[22]
UnoUSB-BATmega328P,[12]
28 pinDIP,
32 pinSMD
5V
(1.8-5.5V)
8bitAVR16 MHz*32 KB2 KB1 KB1, 011None0, 0, 1, 2,
WD
10bit,
None
None
Uno WiFi R2,[23]
ABX00021[24]
UnoUSB-B,
WiFi,
Bluetooth
ATmega4809,[25]
48 pin
5V
(1.8-5.5V)
8bitAVR16 MHz*48 KB6 KB0.25 KB4, 011None0, 0, 5, 0,
WD, RT
10bit,
None
None
Leonardo,[26]
A000057[27]
UnoUSB-Micro-BATmega32U4,[28]
44 pin
5V
(2.7-5.5V)
8bitAVR16 MHz32 KB2.5 KB1 KB1, 011USB-FS0, 0, 2, 1,
WD, 10bit
10bit,
None
None
Mega 2560 R3,[29]
A000067[30]
MegaUSB-BATmega2560,[31]
100 pin
5V
(4.5-5.5V)
8bitAVR16 MHz256 KB8 KB4 KB4, 011None0, 0, 4, 2,
WD
10bit,
None
None
Uno R4 Minima,[15]
ABX00080,[32]
Uno R4 WiFi,[16]
ABX00087,[33]
UnoUSB-C,
WiFi*
R7FA4M1AB,[17]
64 pin
5V
(1.6-5.5V)
32bit ARM
Cortex-M4F
(FPU)
48 MHz256 KB
+bootrom
32 KB
(ECC)
(parity)
None
+ 8 KB
dataflash
4, 022USB-FS,
CAN-A/B
2, 0, 8, 0,
WD, RC,
24bit SysTick
14bit,
12bit
DMA x4,
CRC,RNG,
Crypto,Touch,
LCD
Zero,[34]
ABX00003[35]
UnoUSB-Micro-B
x2
ATSAMD21G18,[36]
48 pin
3.3V
(1.62-3.63V)
32bit ARM
Cortex-M0+
48 MHz256 KB32 KBNone6, 0NoneNoneUSB-FS,
I²S
0, 4, 5, 0,
WD, RC,
24bit SysTick
12bit,
10bit
DMA x12,
CRC32,Touch
Due,[37]
A000062[38]
MegaUSB-Micro-B
x2
ATSAM3X8E,[39]
144 pin
3.3V
(1.62-3.6V)
32bit ARM
Cortex-M3
84 MHz512 KB
+bootrom
96 KBNone4, 112USB-HS,
CAN-A/B x2,
I²S,SD
3, 0, 8, 0,
WD, RT, RC,
24bit SysTick
12bit,
12bit x2
DMA x8,
RNG
GIGA R1 WiFi,[40]
ABX00063[41]
MegaUSB-C,
USB-A,
WiFi,
Bluetooth
STM32H747XI,[42]
240 pin
3.3V
(1.62-3.6V)
32bit ARM
Cortex-M7F
Cortex-M4F
(dual core)
(FPU)
480 MHz
(M7F),
240 MHz
(M4F)
2048 KB
+bootrom
1056 KB
(ECC)
None4, 564USB-HS & FS,
CAN-A/B/FD x2,
I²S x4,SD x2,
S/PDIF x4,CEC,
SWP,QSPI
2, 0, 18, 0,
WD, RC,
24bit SysTick
16bit x3,
12bit x2
DMA x4,
CRC,RNG,
Graphics
Arduino Leonardo board with ATmega32U4 MCU
Arduino Due board with ATSAM3X8E MCU
Table notes
  • Board Size Group column - Simplified board dimension size grouping: Uno means similar size as Arduino Uno R3 and Duemilanove (predecessor) boards, Mega means similar size as the longer Arduino Mega 2560 R3 and Mega (predecessor) boards. This table has a similar layout as a table in theArduino Nano article.
  • MCU Part# / Pins column - MCU meansmicrocontroller. All MCU information in this table was sourced from officialdatasheets in this column. The pin count is useful to determine the quantity of internal MCU features that are available. All MCU hardware features may not be available at the shield header pins because the MCU IC package has more pins than the shield header pins on the Arduino board (*).
  • MCU I/O Voltage column - Microcontrollers on official Arduino boards are powered at a fixed voltage of either 3.3 or 5volts, though some 3rd party boards have a voltage selection switch. The voltage rating of the microcontroller is stated inside parenthesis, though Arduino boards don't support this full range.
  • MCU Clock column - MHz means 106Hertz. TheATmega328P MPU and ATmega4809 MCU are rated for a maximum of 20 MHz, but the Uno R3 and Uno WiFi R2 boards both operate at 16 MHz. The following Arduino boards have a 32.768 kHz crystal too: Uno WiFi R2, Zero, Due, GIGA R1 WiFi. The Uno R4 Minima has SMD footprints for a 32.768KHz crystal and two capacitors, but aren't installed.
  • MCU memory columns - KB means 1024bytes, MB means 10242 bytes. The R7FA4M1AB MCU (Uno R4 boards) contains dataflash memory instead of EEPROM memory.
  • MCU SRAM column - SRAM size doesn't include caches or peripheral buffers.ECC means SRAM has error correction code checking,Par means SRAM has parity checking.
  • MCU USART/UART column -USARTs are software configurable to be a:UART /SPI / other peripherals (varies across MCUs).
  • MCU Other Bus Peripherals column - ForUSB bus, "FS" means Full Speed (12 Mbps max), "HS" means High Speed (480 Mbps max). ForCAN bus, "A" means CAN 2.0A, "B" means CAN 2.0B, "FD" means CAN-FD. Some buses require additional external circuitry to operate.
  • MCU Timers column - The numbers in this column are the total number of each timerbit width, for example, theATmega328P has one 16-bit timer and two 8-bit timers. "WD" meansWatchdog timer, "RT" means Real Time Counter/Timer, "RC" meansReal Time Clock (sec/min/hr). The 24-bit SysTick timer(s) inside theARM cores aren't included in the 24-bit total in this column.PWM features are not documented in this table.

See also

[edit]

References

[edit]
  1. ^abc"Arduino UNO for beginners - Projects, Programming and Parts".makerspaces.com. 7 February 2017. Retrieved4 February 2018.
  2. ^"Arduino FAQ". 5 April 2013. Archived fromthe original on 27 November 2020. Retrieved21 February 2018.
  3. ^ab"What is Arduino?".learn.sparkfun.com. Retrieved4 February 2018.
  4. ^ab"Introduction to Arduino"(PDF).princeton.edu. Archived fromthe original(PDF) on 3 April 2018. Retrieved4 February 2018.
  5. ^"Arduino Nano".Arduino Official Store. Retrieved2022-12-07.
  6. ^"Arduino Leonardo with Headers". Archived fromthe original on 2021-05-15.
  7. ^"Previous IDE Releases". Retrieved2023-02-08.
  8. ^"Arduino Older Boards". Retrieved2023-02-08.
  9. ^abcdefgh"Board; Uno R3; Store".Arduino.
  10. ^abHernando Barragán (2016-01-01)."The Untold History of Arduino".arduinohistory.github.io. Retrieved2016-03-06.
  11. ^"Introducing the Arduino UNO R4! - News - SparkFun Electronics".www.sparkfun.com. Retrieved2023-08-07.
  12. ^ab"MCU; ATmega328P; Docs".Microchip.Archived from the original on March 27, 2023.
  13. ^"What is Arduino UNO? A Getting Started Guide".www.rs-online.com. Retrieved2021-08-04.
  14. ^"Using Vin pin on Arduino with a shield".Electrical Engineering Stack Exchange. Retrieved2024-01-20.
  15. ^abc"Board; Uno R4 Minima; Docs".Arduino.Archived from the original on June 27, 2023.
  16. ^abc"Board; Uno R4 WiFi; Docs".Arduino.Archived from the original on June 27, 2023.
  17. ^abc"MCU; R7FA4M1AB; Docs".Renesas.Archived from the original on May 8, 2023.
  18. ^"Qwiic I2C Connect System".SparkFun.Archived from the original on September 7, 2023.
  19. ^"Seeeduino v4.3 (UNO ATmega328P)".Seeed Studio.Archived from the original on November 22, 2023.
  20. ^"Board; Uno R3; Docs".Arduino.Archived from the original on May 17, 2023.
  21. ^"Board; Uno R3 SMD; Docs".Arduino.Archived from the original on May 8, 2023.
  22. ^"Board; Uno R3 SMD; Store".Arduino.
  23. ^"Board; UNO WiFi R2; Docs".Arduino.Archived from the original on March 28, 2023.
  24. ^"Board; Uno WiFi R2; Store".Arduino.
  25. ^"MCU; ATmega4809; Docs".Microchip.Archived from the original on December 6, 2022.
  26. ^"Board; Leonardo; Docs".Arduino.Archived from the original on April 5, 2023.
  27. ^"Board; Leonardo; Store".Arduino.
  28. ^"MCU; ATmega32U4; Docs".Microchip.Archived from the original on April 5, 2023.
  29. ^"Board; Mega 2560 R3; Docs".Arduino.Archived from the original on April 21, 2023.
  30. ^"Board; Mega 2560 R3; Store".Arduino.
  31. ^"MCU; ATmeg2560; Docs".Microchip.Archived from the original on March 1, 2023.
  32. ^"Board; Uno R4 Minima; Store".Arduino.
  33. ^"Board; Uno R4 WiFi; Store".Arduino.
  34. ^"Board; Zero; Docs".Arduino.Archived from the original on May 8, 2023.
  35. ^"Board; Zero; Store".Arduino.
  36. ^"MCU; ATSAMD21G18; Docs".Microchip.Archived from the original on February 1, 2023.
  37. ^"Board; Due; Docs".Arduino.Archived from the original on May 8, 2023.
  38. ^"Board; Due; Store".Arduino.
  39. ^"MCU; ATSAM3X8E; Docs".Microchip.Archived from the original on October 26, 2022.
  40. ^"Board; GIGA R1 WiFi; Docs".Arduino.Archived from the original on May 14, 2023.
  41. ^"Board; GIGA R1 WiFi; Store".Arduino.
  42. ^"MCU; STM32H747XI; Docs".ST.Archived from the original on May 11, 2023.

Attribution:

 This article incorporatestext available under theCC BY-SA 3.0 license.

Further reading

[edit]
Main article:List of books about Arduino

External links

[edit]
Wikimedia Commons has media related toArduino UNO.
Programming Cheat Sheets
Pinout Diagrams
Electronic Schematics
Mechanical Drawings
Retrieved from "https://en.wikipedia.org/w/index.php?title=Arduino_Uno&oldid=1296972292"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp