Arduino Uno R3 Front and Back |
Arduino Uno R2 Front |
Arduino Uno Front and Back
|
Microcontroller | ATmega328 |
Operating Voltage | 5V |
Input Voltage (recommended) | 7-12V |
Input Voltage (limits) | 6-20V |
Digital I/O Pins | 14 (of which 6 provide PWM output) |
Analog Input Pins | 6 |
DC Current per I/O Pin | 40 mA |
DC Current for 3.3V Pin | 50 mA |
Flash Memory | 32 KB (ATmega328) of which 0.5 KB used by bootloader |
SRAM | 2 KB (ATmega328) |
EEPROM | 1 KB (ATmega328) |
Clock Speed | 16 MHz |
Schematic: arduino-uno-Rev3-schematic.pdf
Microcontroller | ATmega32u4 |
Operating Voltage | 5V |
Input Voltage (recommended) | 7-12V |
Input Voltage (limits) | 6-20V |
Digital I/O Pins | 20 |
PWM Channels | 7 |
Analog Input Channels | 12 |
DC Current per I/O Pin | 40 mA |
DC Current for 3.3V Pin | 50 mA |
Flash Memory | 32 KB (ATmega32u4) of which 4 KB used by bootloader |
SRAM | 2.5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
Clock Speed | 16 MHz |
Schematic:arduino-leonardo-schematic-rev3b.pdf
Uno的bootloader約0.5 KB
Leonardo的bootloader約4 KB,
Uno與Leonardo板子的尺寸大小、排母數目與位置,都一樣,但功能有所不同。
數位腳位,板子上方有14個(標示為0~13),其中6個可PWM,以「~」額外標示;
解析度8位元
UNO:3、5、6、9、10、11。
Leonardo:3、5、6、9、10、11、13。
類比輸入腳位:
Uno板子下方有6個(標示為A0~A5),解析度10位元。
Leonardo多了6個,A6~A11(位於數位腳位4、6、8、9、10、12)。
I2C/TWI介面:
Uno:SDA(A4、SDA)與SCL(A5、SCL)。
Leonardo:SDA(2、SDA) 與SCL(3、SCL)。
UNO R3上方插槽較R2多兩腳(與Leonardo插槽相同),如下圖示(來源:網昱多媒體 Arduino UNO介紹),新增的SCL和SDA插孔,分別和類比腳位A5與A4相連,新增這兩個插孔的好處是,做實驗時從板子的標示(註:標示在板子背後),能立即分辨SCL和SDA。
SPI介面:
Uno:SS(10)、MOSI(11)、MISO(12)、SCK(13)。
Leonardo跟Uno不同,SPI不在數位腳位,MOSI、MISO、SCK都在ICSP上,SS則位於板子左邊與RX LED相連。
外部中斷:
Uno:2(int.0)、3(int.1)。
Leonardo:3(int.0)、2(int.1)、0(int.2)、1(int.3)、7(int.4)。
Serial(序列介面):
Uno:RX(0)與TX(1)連接8U2/16U2(USB轉TTL Serial的晶片),在程式裡以Serial物件存取。Leonardo:在程式裡Serial物件代表USB CDC(Connected Device Class),而Serial1物件才是RX(0)與TX(1)。Leonardo事實上擁有兩個序列埠,一個模擬而成的虛擬序列埠(不管是在電腦端還是在微控制器端),連接USB連線,另一個則是微控制器本身原本擁有的UART硬體。
因Leonardo使用內建USB功能的ATmega32U4,擁有非常強大的bootloader,除了可作為虛擬序列埠(COM port),也可模擬成USB鍵盤與滑鼠(標準的HID裝置,無需驅動程式)。連接Leonardo與電腦時,系統就會出現三個新硬體裝置:虛擬序列埠、USB鍵盤、USB滑鼠。其實Uno也可以模擬USB鍵盤與滑鼠,但必須透過DFU模式修改8U2/16U2的韌體。
自動軟體重置:
Uno:8U2/16U2的DTR連接到Atmega328P的重置線路。
Leonardo:當以1200鮑率開啟虛擬序列埠並關閉時就重置。
Uno因有一顆獨立晶片負責USB轉TTL Serial,所以當主晶片重置時,該連線並不會斷掉,但Leonardo會,原本若開啟電腦端的序列埠監控視窗,Uno就會重置,但Leonardo不會,以至於在setup()從序列埠傳出的資料,可能不會出現在電腦端,所以通常會加上while (!Serial);等待開啟序列埠。
因為Leonardo重置時虛擬序列埠會消失,所以在上傳(燒錄)時,Arduino IDE會等待,直到出現新的虛擬序列埠,然後再進行上傳動作。
資料來源: