相關(guān)推薦
您可能對(duì)下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有138527人學(xué)過

Arduino Leonardo 中文介紹
發(fā)布時(shí)間:2022-03-11 10:55 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 小劉2175 閱讀: 2319



概述
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 間距。

Arduino視頻教程基礎(chǔ)篇
我要自學(xué)網(wǎng)商城 ¥40 元
進(jìn)入購買
文章評(píng)論
0 條評(píng)論 按熱度排序 按時(shí)間排序 /350
添加表情
遵守中華人民共和國的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對(duì)下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有138527人學(xué)過

分類選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動(dòng)化 影視動(dòng)畫 程序開發(fā) 網(wǎng)頁設(shè)計(jì) 會(huì)計(jì)課程 興趣成長 AIGC