Arduino Leonardo 中文介紹

2022-03-25 04:12:24 字數 4339 閱讀 4008

以下內容均翻譯自arduino.cc,水平有限,如有錯誤請大家指正。

概述

arduino leonardo是基於atmega32u4乙個微控制器板。它有20個數字輸入/輸出引腳(其中7個可用於pwm輸出、12個可用於模擬輸入),乙個 16 mhz的晶體振盪器,乙個micro usb介面,乙個dc介面,乙個icsp介面,乙個復位按鈕。它包含了支援微控制器所需的一切,你可以簡單地通過把它連線到計算機的usb介面,或者使用 ac-dc介面卡,再或者用電池來驅動它。

leonardo不同於之前所有的arduino控制器,他直接使用了atmega32u4的usb通訊功能,取消了usb轉uart晶元。這使得leonardo不僅可以作為乙個虛擬的(cdc)序列/ com埠,還可以作為滑鼠或者鍵盤連線到計算機。它還有很多不同的地方,我們會在入門頁面中介紹。

摘要

微控制器                          atmega32u4

工作電壓                          5v

輸入電壓(推薦)             7-12v

輸入電壓(限制)             6-20v

數字i/o引腳                     20

pwm通道                         7

模擬輸入通道                   12

每個i/o直流輸出能力       40毫安

3.3v埠輸出能力            50毫安

flash                              32 kb(atmega32u4)其中4 kb由引導程式使用

sram                             2.5 kb(atmega32u4)

eeprom                         1 kb(atmega32u4)

時鐘速度                         16mhz

原理圖及參考設計

eagle檔案:轉到官網

原理圖:轉到官網

電源

arduino leonardo可以通過micro usb介面或外接電源供電。電源可以自動被選擇。

外部(非usb)電源可以用ac-dc介面卡(wall-wart)或電池。介面卡可以插在乙個2.1公釐規格中心是正極的電源插座上,以此連線到控制器電源。從電池的資訊,可以插在電源聯結器的gnd和vin引腳頭。

可以輸入6v-20v的外部電源。但是,如果低於7v,5v引腳將提供小於5v的電源,控制板可能會不穩定。如果使用大於12v的電源穩壓器可能過熱,從而損壞電路板。推薦的範圍是7v-12v。

電源引腳如下:

vin 使用外接電源(而不是從usb連線或其它穩壓電源輸入的5v)。您可以通過此引腳提供的電壓,或者,通過該引腳使用電源座輸入的電壓。

5v穩壓電源是供給電路板上的微控制器和其他元件使用的電源。可以從vin輸入通過板上穩壓器,或通過usb或其他5v穩壓電源提供。

3v3 板上穩壓器產生乙個3.3v的電源。最大電流為50毫安。

gnd 接地引腳。

ioref 電壓板的i / o引腳工作 ​​(連線到板子上的vcc,在leonardo上為5v)。

儲存空間

atmega32u4具有32kb的flash(其中4kb被引導程式使用)。它還有2.5kb的sram和1kb的eeprom(eeprom的讀寫可以參見eeprom庫)。

輸入和輸出

通過使用pinmode(), digitalwrite(), and digitalread() 函式,leonardo上的20個i/o引腳中的每乙個都可以作為輸入輸出埠。每個引腳都有乙個20-50千歐的內部上啦電阻(預設斷開),可以輸出或者輸入最大40ma的電流。此外部分引腳還有專用功能:

uart:0(rx)和1(tx) 使用atmega32u4硬體串列埠,用於接收(rx)和傳送(tx)的ttl序列資料。需要注意的是,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()函式支援8位的pwm輸出。

spi:icsp引腳。能通過使用spi庫支援spi通訊。需要注意的是,spi引腳沒有像uno連線到任何的數字i/o引腳上,他們只能在icsp埠上工作。這意味著,如果你的擴充套件板,沒有連線6腳的icsp引腳,那它將無法工作。

led:13。有乙個內建的led在數字腳13上,當引腳是高電平事,led亮,引腳為低電平時,led不亮。

模擬輸入:a0〜a5,a6~a11(數字引腳4,6,8,9,10,12) ,leonardo有 12個模擬輸入,a0到a11,都可以作為數字i / o口。引腳a0-a5的位置上與uno相同;a6-a11分別是數字i / o引腳4,6,8,9,10和12。每個模擬輸入都有10位解析度(即1024個不同的值)。預設情況下,模擬輸入量為0-5v,也可以通過aref引腳改變這個上限。

其他引腳:

aref:模擬輸入訊號參考電壓通過analogreference()函式使用。

reset:通過置低該線路來復位arduino,通常用在帶復位按鍵的擴充套件板上。

通訊

要讓leonardo 與電腦、其他arduino或者其他的微控制器通訊,有多種裝置。在0、1上atmega32u4提供了uart ttl(5v)的通訊方式,32u4還允許通過usb在電腦上虛擬com埠來進行虛擬序列(cdc)通訊。這個晶元使用標準的usb序列驅動(在 windows上需要乙個.inf檔案),可以作為乙個全速usb2.0裝置。arduino軟體包含了乙個串列埠監視器,可以與arduino板子相互傳送或者接收簡單的資料。當使用usb傳輸資料時,板子上rx、tx led會閃爍(這個特性不是適用於0、1埠)。

softwareserial庫能讓任意的數字i/o口進行序列通訊。

atmega32u4還支援twi(i2c)和spi通訊。arduino軟體有乙個用於簡化twi(i2c)通訊的 wire庫。spi通訊可以使用spi庫。

leonardo可以作為滑鼠、鍵盤出現,也可以通過程式設計來控制這類鍵盤滑鼠輸入裝置。

程式設計

自動復位和引導程式的啟動

在leonardo中被設定為在上傳時,軟體建立連線讓控制器復位,從而免去了我們手動按下復位按鈕的操作。當leonardo 作為虛擬(cdc)序列/com埠以1200波特率執行時,復位功能將被促發,串列埠也將關閉。此時,處理器會復位,usb連線會斷開(即虛擬(cdc)序列/com埠 會斷開)。處理器復位後,引導程式緊接著啟動,大概要等待8秒來完成這個過程。引導程式也可以通過按板子上覆位按鈕來啟動。注意當板子第一次通電時,如果有使用者程式,他將直接跳轉到使用者程式區,而不啟動bootloader。

leonardo 最好的復位處理方式是在上傳程式前讓arduino軟體端試圖啟動復位功能,而不是你手動點選復位按鈕。

如果軟體沒有讓控制板自動復位,你也可以通過手動按下復位按鈕從而讓板子復位執行引導程式

usb過流保護

leonardo有乙個自恢復保險絲,防止短路或過流,從而保護您的計算機的usb埠。雖然大多數計算機提供都帶有內部保護,但保險絲也可以提供額外的保護。如果電流超過500 ma,保險絲會自動斷開連線防止短路或過載。

物理特徵

leonardo pcb的最大長度和寬度分別為2.7和2.1英吋,超越前維延長的usb介面和電源插孔。有四個固定孔可以將板子固定在其他表面或者外殼上。注意,7、8數字引腳之間的距離是160mil(0.16「),而不是和其他腳一樣的100 mil 間距。

gsoap中文文件(1 介紹)

1.介紹 gsoap編譯工具提供了乙個soap xml 關於c c 語言的實現,從而讓c c 語言開發web服務或客戶端程式的工作變得輕鬆了很多。絕大多數的c web服務工具包提供一組api函式類庫來處理特定的soap資料結構,這樣就使得使用者必須改變程式結構來適應相關的類庫。與之相反,gsoap利...

gsoap中文文件(1 介紹)

1.介紹 gsoap編譯工具提供了乙個soap xml 關於c c 語言的實現,從而讓c c 語言開發web服務或客戶端程式的工作變得輕鬆了很多。絕大多數的c web服務工具包提供一組api函式類庫來處理特定的soap資料結構,這樣就使得使用者必須改變程式結構來適應相關的類庫。與之相反,gsoap利...

Geodatabase ToolSet的介紹與使用

geodatabasetoolset簡稱為gdbt,是 esri 官網提供的免費工具,在 catalog 中用來協助監測 了解 報告多使用者地理資料庫的工具。用 gdbt 可以協助監測地理資料庫每天的健康狀況,更詳盡的了解資料庫的效能,並進行資料庫效能調優。gdbt 工作與sql server or...