概述
Arduino Leonardo是基于ATmega32u4一個(gè)微控制器板。它有20個(gè)數(shù)字輸入/輸出引腳(其中7個(gè)可用于PWM輸出、12個(gè)可用于模擬輸入),一個(gè)16 MHz的晶體振蕩器,一個(gè)Micro USB接口,一個(gè)DC接口,一個(gè)ICSP接口,一個(gè)復(fù)位按鈕。它包含了支持微控制器所需的一切,你可以簡單地通過把它連接到計(jì)算機(jī)的USB接口,或者使用AC-DC適配器,再或者用電池來驅(qū)動(dòng)它。
Leonardo不同于之前所有的arduino控制器,他直接使用了ATmega32u4的USB通信功能,取消了USB轉(zhuǎn)UART芯片。這使得Leonardo不僅可以作為一個(gè)虛擬的(CDC)串行/ COM端口,還可以作為鼠標(biāo)或者鍵盤連接到計(jì)算機(jī)。它還有很多不同的地方,我們會(huì)在入門頁面中介紹。
摘要
微控制器 ATmega32u4
工作電壓 5V
輸入電壓(推薦) 7-12V
輸入電壓(限制) 6-20V
數(shù)字I/O引腳 20
PWM通道 7
模擬輸入通道 12
每個(gè)I/O直流輸出能力 40毫安
3.3V端口輸出能力 50毫安
Flash 32 KB(ATmega32u4)其中4 KB由引導(dǎo)程序使用
SRAM 2.5 KB(ATmega32u4)
EEPROM 1 KB(ATmega32u4)
時(shí)鐘速度 16MHz
電源
Arduino Leonardo可以通過Micro USB接口或外接電源供電。電源可以自動(dòng)被選擇。
外部(非USB)電源可以用AC-DC適配器(wall-wart)或電池。適配器可以插在一個(gè)2.1毫米規(guī)格中心是正極的電源插座上,以此連接到控制器電源。從電池的引出的線,可以插在電源連接器的GND和VIN引腳頭。
可以輸入6V-20V的外部電源。但是,如果低于7V,5V引腳將提供小于5V的電源,控制板可能會(huì)不穩(wěn)定。如果使用大于12V的電源穩(wěn)壓器可能過熱,從而損壞電路板。推薦的范圍是7V-12V。
電源引腳如下:
VIN 使用外接電源(而不是從USB連接或其它穩(wěn)壓電源輸入的5V)。您可以通過此引腳提供的電壓,或者,通過該引腳使用電源座輸入的電壓。
5V穩(wěn)壓電源是供給電路板上的微控制器和其他組件使用的電源?梢詮腣IN輸入通過板上穩(wěn)壓器,或通過USB或其他5V穩(wěn)壓電源提供。
3V3 板上穩(wěn)壓器產(chǎn)生一個(gè)3.3V的電源。最大電流為50毫安。
GND 接地引腳。
IOREF 電壓板的I / O引腳工作 ??(連接到板子上的VCC,在Leonardo上為5V)。
存儲(chǔ)空間
ATmega32u4具有32KB的Flash(其中4KB被引導(dǎo)程序使用)。它還有2.5KB的SRAM和1KB的EEPROM(EEPROM的讀寫可以參見EEPROM庫)。
輸入和輸出
通過使用pinMode(), digitalWrite(), and digitalRead() 函數(shù),Leonardo上的20個(gè)I/O引腳中的每一個(gè)都可以作為輸入輸出端口。每個(gè)引腳都有一個(gè)20-50千歐的內(nèi)部上啦電阻(默認(rèn)斷開),可以輸出或者輸入最大40ma的電流。此外部分引腳還有專用功能:
UART:0(RX)和1(TX) 使用ATmega32U4硬件串口,用于接收(RX)和發(fā)送(TX)的TTL串行數(shù)據(jù)。需要注意的是,Leonardo,的Serial類是指USB(CDC)的通信,而引腳0和1的TTL串口使用Serial1類。
TWI:2(SDA)和3(SCL)通過使用Wire庫來支持TWI通信。
外部中斷:2和3,這些引腳可以被配置
PWM:3、5、6、9、10、11、13能使用analogWrite()函數(shù)支持8位的PWM輸出。
SPI:ICSP引腳。能通過使用SPI庫支持SPI通信。需要注意的是,SPI引腳沒有像UNO連接到任何的數(shù)字I/O引腳上,他們只能在ICSP端口上工作。這意味著,如果你的擴(kuò)展板,沒有連接6腳的ICSP引腳,那它將無法工作。
LED:13。有一個(gè)內(nèi)置的LED在數(shù)字腳13上,當(dāng)引腳是高電平事,LED亮,引腳為低電平時(shí),LED不亮。
模擬輸入:A0?A5,A6~A11(數(shù)字引腳4,6,8,9,10,12) ,Leonardo有12個(gè)模擬輸入,A0到A11,都可以作為數(shù)字I / O口。引腳A0-A5的位置上與UNO相同;A6-A11分別是數(shù)字I / O引腳4,6,8,9,10和12。每個(gè)模擬輸入都有10位分辨率(即1024個(gè)不同的值)。默認(rèn)情況下,模擬輸入量為0-5V,也可以通過AREF引腳改變這個(gè)上限。
其他引腳:
AREF:模擬輸入信號(hào)參考電壓通過analogReference()函數(shù)使用。
Reset:通過置低該線路來復(fù)位arduino,通常用在帶復(fù)位按鍵的擴(kuò)展板上。
通信
要讓Leonardo與電腦、其他arduino或者其他的微控制器通信,有多種設(shè)備。在0、1上ATmega32u4提供了UART TTL(5V)的通信方式,32u4還允許通過USB在電腦上虛擬COM端口來進(jìn)行虛擬串行(CDC)通信。這個(gè)芯片使用標(biāo)準(zhǔn)的USB串行驅(qū)動(dòng)(在Windows上需要一個(gè).inf文件),可以作為一個(gè)全速USB2.0設(shè)備。arduino軟件包含了一個(gè)串口監(jiān)視器,可以與arduino板子相互發(fā)送或者接收簡單的數(shù)據(jù)。當(dāng)使用USB傳輸數(shù)據(jù)時(shí),板子上RX、TX LED會(huì)閃爍(這個(gè)特性不是適用于0、1端口)。
SoftwareSerial庫能讓任意的數(shù)字I/O口進(jìn)行串行通信。
ATmega32u4還支持TWI(I2C)和SPI通信。arduino軟件有一個(gè)用于簡化TWI(I2C)通信的 wire庫。SPI通信可以使用SPI庫。
Leonardo可以作為鼠標(biāo)、鍵盤出現(xiàn),也可以通過編程來控制這類鍵盤鼠標(biāo)輸入設(shè)備。
編程
Leonardo可以通過arduino軟件來編程,選擇Tool>board>Arduino Leonardo(根據(jù)你的控制器型號(hào)選擇)。更多參考和教程。
Leonardo的ATmega32u4芯片燒寫了一個(gè)引導(dǎo)程序,使得你可以不通過外部的硬件編程器也可以上傳新的程序到Leonardo。bootloader使用AVR109協(xié)議通信。
你還可以繞過引導(dǎo)程序,使用外部編程器通過ICSP(在線串行編程)引腳燒寫程序。
自動(dòng)復(fù)位和引導(dǎo)程序的啟動(dòng)
在Leonardo中被設(shè)定為在上傳時(shí),軟件建立連接讓控制器復(fù)位,從而免去了我們手動(dòng)按下復(fù)位按鈕的操作。當(dāng)Leonardo 作為虛擬(CDC)串行/COM端口以1200波特率運(yùn)行時(shí),復(fù)位功能將被促發(fā),串口也將關(guān)閉。此時(shí),處理器會(huì)復(fù)位,USB連接會(huì)斷開(即虛擬(CDC)串行/COM端口 會(huì)斷開)。處理器復(fù)位后,引導(dǎo)程序緊接著啟動(dòng),大概要等待8秒來完成這個(gè)過程。引導(dǎo)程序也可以通過按板子上復(fù)位按鈕來啟動(dòng)。注意當(dāng)板子第一次通電時(shí),如果有用戶程序,他將直接跳轉(zhuǎn)到用戶程序區(qū),而不啟動(dòng)bootloader。
Leonardo 最好的復(fù)位處理方式是在上傳程序前讓arduino軟件端試圖啟動(dòng)復(fù)位功能,而不是你手動(dòng)點(diǎn)擊復(fù)位按鈕。
如果軟件沒有讓控制板自動(dòng)復(fù)位,你也可以通過手動(dòng)按下復(fù)位按鈕從而讓板子復(fù)位運(yùn)行引導(dǎo)程序
USB過流保護(hù)
Leonardo有一個(gè)自恢復(fù)保險(xiǎn)絲,防止短路或過流,從而保護(hù)您的計(jì)算機(jī)的USB端口。雖然大多數(shù)計(jì)算機(jī)提供都帶有內(nèi)部保護(hù),但保險(xiǎn)絲也可以提供額外的保護(hù)。如果電流超過500 mA,保險(xiǎn)絲會(huì)自動(dòng)斷開連接防止短路或過載。
物理特征
Leonardo PCB的最大長度和寬度分別為2.7和2.1英寸,超越前維延長的USB接口和電源插孔。有四個(gè)固定孔可以將板子固定在其他表面或者外殼上。注意,7、8數(shù)字引腳之間的距離是160mil(0.16“),而不是和其他腳一樣的100 mil 間距。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。