“(SKU:RB-01C030)CarDuino Leonardo”的版本間的差異
(→?Arduino下載軟件及開(kāi)發(fā)環(huán)境) |
|||
(未顯示3個(gè)用戶的5個(gè)中間版本) | |||
第1行: | 第1行: | ||
<br/> | <br/> | ||
[[文件:Carduino Leonardo01.jpg|400px|有框|右]] | [[文件:Carduino Leonardo01.jpg|400px|有框|右]] | ||
? | == | + | ==產(chǎn)品概述== |
:Carduino Leonardo是一塊完全兼容Arduino Leonardo的基于開(kāi)放源代碼的USB接口Simple I/O接口板(包括22通道數(shù)字GPIO,7通道PWM輸出,12通道10bit ADC輸入通道),并且具有使用類(lèi)似Java、C語(yǔ)言的IDE集成開(kāi)發(fā)環(huán)境。讓您可以快速使用Arduino語(yǔ)言與Flash或Processing等軟件,作出互動(dòng)作品。<br/> | :Carduino Leonardo是一塊完全兼容Arduino Leonardo的基于開(kāi)放源代碼的USB接口Simple I/O接口板(包括22通道數(shù)字GPIO,7通道PWM輸出,12通道10bit ADC輸入通道),并且具有使用類(lèi)似Java、C語(yǔ)言的IDE集成開(kāi)發(fā)環(huán)境。讓您可以快速使用Arduino語(yǔ)言與Flash或Processing等軟件,作出互動(dòng)作品。<br/> | ||
Carduino可以使用開(kāi)發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進(jìn)馬達(dá)或其他輸出裝置。也可作為鍵盤(pán)、鼠標(biāo)等輸入裝置。Carduino Leonardo也可以獨(dú)立運(yùn)作成為一個(gè)可以跟軟件溝的接口,例如說(shuō):Flash Processing Max/MSP VVVV 或其他互動(dòng)軟件。Arduino開(kāi)發(fā)IDE接口基于開(kāi)放源代碼,可以讓您免費(fèi)下載使用開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。 | Carduino可以使用開(kāi)發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進(jìn)馬達(dá)或其他輸出裝置。也可作為鍵盤(pán)、鼠標(biāo)等輸入裝置。Carduino Leonardo也可以獨(dú)立運(yùn)作成為一個(gè)可以跟軟件溝的接口,例如說(shuō):Flash Processing Max/MSP VVVV 或其他互動(dòng)軟件。Arduino開(kāi)發(fā)IDE接口基于開(kāi)放源代碼,可以讓您免費(fèi)下載使用開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。 | ||
? | == | + | ==規(guī)格參數(shù)== |
1. 控制器: ATmega32u4 <br/> | 1. 控制器: ATmega32u4 <br/> | ||
2. 工作頻率: 16 MHz <br/> | 2. 工作頻率: 16 MHz <br/> | ||
第17行: | 第17行: | ||
11. SRAM: 2.5 KB (ATmega32u4) <br/> | 11. SRAM: 2.5 KB (ATmega32u4) <br/> | ||
12. EEPROM: 1 KB (ATmega32u4) <br/> | 12. EEPROM: 1 KB (ATmega32u4) <br/> | ||
? | == | + | ==使用方法== |
? | 1 | + | ===驅(qū)動(dòng)安裝=== |
+ | 1.軟件下載<br/> | ||
請(qǐng)下載arduino1.01或以上版本<br/> | 請(qǐng)下載arduino1.01或以上版本<br/> | ||
官方軟件下載地址:http://arduino.cc/en/Main/Software <br/> | 官方軟件下載地址:http://arduino.cc/en/Main/Software <br/> | ||
? | 2 | + | 2.軟件及硬件驅(qū)動(dòng)安裝<br/> |
此軟件是綠色版,軟件解壓縮后即可使用。 <br/> | 此軟件是綠色版,軟件解壓縮后即可使用。 <br/> | ||
解壓軟件下載地址: <br/> | 解壓軟件下載地址: <br/> | ||
第29行: | 第30行: | ||
[[文件:Carduino Leonardo02.jpg|500px|有框|居中]] | [[文件:Carduino Leonardo02.jpg|500px|有框|居中]] | ||
接下來(lái)系統(tǒng)就會(huì)出現(xiàn)Arduino Leonardo的Windows Update驅(qū)動(dòng)程序安裝畫(huà)面。 | 接下來(lái)系統(tǒng)就會(huì)出現(xiàn)Arduino Leonardo的Windows Update驅(qū)動(dòng)程序安裝畫(huà)面。 | ||
? | [[文件:Carduino Leonardo03.jpg| | + | [[文件:Carduino Leonardo03.jpg|500px|有框|居中]] |
不過(guò)目前在Windows Update中還無(wú)法找到驅(qū)動(dòng)程序。 | 不過(guò)目前在Windows Update中還無(wú)法找到驅(qū)動(dòng)程序。 | ||
? | [[文件:Carduino Leonardo04.jpg| | + | [[文件:Carduino Leonardo04.jpg|500px|有框|居中]] |
這時(shí)需要我們手動(dòng)安裝驅(qū)動(dòng),打開(kāi)“控制面板”下的“設(shè)備管理器” | 這時(shí)需要我們手動(dòng)安裝驅(qū)動(dòng),打開(kāi)“控制面板”下的“設(shè)備管理器” | ||
? | [[文件:Carduino Leonardo05.jpg| | + | [[文件:Carduino Leonardo05.jpg|458px|有框|居中]] |
這時(shí)在其他設(shè)備里會(huì)出現(xiàn)一個(gè)帶有嘆號(hào)的Arduino Leonardo設(shè)備。在上圖標(biāo)上點(diǎn)擊右鍵選擇“更新驅(qū)動(dòng)程序軟件” | 這時(shí)在其他設(shè)備里會(huì)出現(xiàn)一個(gè)帶有嘆號(hào)的Arduino Leonardo設(shè)備。在上圖標(biāo)上點(diǎn)擊右鍵選擇“更新驅(qū)動(dòng)程序軟件” | ||
? | [[文件:Carduino Leonardo06.jpg| | + | [[文件:Carduino Leonardo06.jpg|458px|有框|居中]] |
在“您想如何搜索驅(qū)動(dòng)程序軟件”中選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件” | 在“您想如何搜索驅(qū)動(dòng)程序軟件”中選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件” | ||
? | [[文件:Carduino Leonardo07.jpg| | + | [[文件:Carduino Leonardo07.jpg|500px|有框|居中]] |
然后選擇你Arduino IDE軟件解壓到盤(pán)符找到Drivers文件夾點(diǎn)擊下一步 | 然后選擇你Arduino IDE軟件解壓到盤(pán)符找到Drivers文件夾點(diǎn)擊下一步 | ||
? | [[文件:Carduino Leonardo08.jpg| | + | [[文件:Carduino Leonardo08.jpg|500px|有框|居中]] |
這時(shí)會(huì)出現(xiàn)Windows無(wú)法驗(yàn)證此驅(qū)動(dòng)程序軟件發(fā)布者警告 | 這時(shí)會(huì)出現(xiàn)Windows無(wú)法驗(yàn)證此驅(qū)動(dòng)程序軟件發(fā)布者警告 | ||
? | [[文件:Carduino Leonardo09.jpg| | + | [[文件:Carduino Leonardo09.jpg|500px|有框|居中]] |
? | [[文件:Carduino Leonardo10.jpg| | + | [[文件:Carduino Leonardo10.jpg|500px|有框|居中]] |
安裝完成后在“端口(COM和LPT)”下回生成一個(gè)新的端口我這里生成的是COM3 | 安裝完成后在“端口(COM和LPT)”下回生成一個(gè)新的端口我這里生成的是COM3 | ||
[[文件:Carduino Leonardo11.jpg|373px|有框|居中]] | [[文件:Carduino Leonardo11.jpg|373px|有框|居中]] | ||
? | + | ===軟件使用說(shuō)明=== | |
打開(kāi)軟件只需雙擊執(zhí)行arduino.exe執(zhí)行文件,就可以看到如下程序編譯窗口。從Arduino1.0開(kāi)始已經(jīng)支持中文界面了。具體修改方法電機(jī)“文件”-“參數(shù)設(shè)置”下。 | 打開(kāi)軟件只需雙擊執(zhí)行arduino.exe執(zhí)行文件,就可以看到如下程序編譯窗口。從Arduino1.0開(kāi)始已經(jīng)支持中文界面了。具體修改方法電機(jī)“文件”-“參數(shù)設(shè)置”下。 | ||
? | [[文件:Carduino Leonardo12.jpg| | + | [[文件:Carduino Leonardo12.jpg|458px|有框|居中]] |
在輸入程序前需要先選擇板號(hào)和COM口,COM口號(hào)就是我們剛才驅(qū)動(dòng)上的COM3。在“工具”-“Serial Port”下選擇。 | 在輸入程序前需要先選擇板號(hào)和COM口,COM口號(hào)就是我們剛才驅(qū)動(dòng)上的COM3。在“工具”-“Serial Port”下選擇。 | ||
? | [[文件:Carduino Leonardo13.jpg| | + | [[文件:Carduino Leonardo13.jpg|500px|有框|居中]] |
然后選擇版型位置在“工具”-“Board:”-“Arduino Leonardo”。 | 然后選擇版型位置在“工具”-“Board:”-“Arduino Leonardo”。 | ||
? | [[文件:Carduino Leonardo14.jpg| | + | [[文件:Carduino Leonardo14.jpg|500px|有框|居中]] |
基本設(shè)置完畢就可以編寫(xiě)程序了。首先我們打開(kāi)一個(gè)閃燈的例程。位置在“文件”-“示例”-“01.Basic”-“Blink”。 | 基本設(shè)置完畢就可以編寫(xiě)程序了。首先我們打開(kāi)一個(gè)閃燈的例程。位置在“文件”-“示例”-“01.Basic”-“Blink”。 | ||
? | [[文件:Carduino Leonardo15.jpg| | + | [[文件:Carduino Leonardo15.jpg|458px|有框|居中]] |
點(diǎn)擊(圖)可以將程序進(jìn)行編譯,檢查是否有語(yǔ)法錯(cuò)誤。點(diǎn)擊(圖)可以將程序下載到CarduinoLeonardo中。下載成功會(huì)在狀態(tài)窗格顯示“下載完畢” | 點(diǎn)擊(圖)可以將程序進(jìn)行編譯,檢查是否有語(yǔ)法錯(cuò)誤。點(diǎn)擊(圖)可以將程序下載到CarduinoLeonardo中。下載成功會(huì)在狀態(tài)窗格顯示“下載完畢” | ||
? | [[文件:Carduino Leonardo16.jpg| | + | [[文件:Carduino Leonardo16.jpg|500px|有框|居中]] |
這時(shí)會(huì)發(fā)現(xiàn)Carduino Leonardo一秒亮滅交替閃爍。<br/> | 這時(shí)會(huì)發(fā)現(xiàn)Carduino Leonardo一秒亮滅交替閃爍。<br/> | ||
若需要進(jìn)行與Arduino串口通信點(diǎn)擊通信監(jiān)視窗口(圖),可以看到如下對(duì)話框。 | 若需要進(jìn)行與Arduino串口通信點(diǎn)擊通信監(jiān)視窗口(圖),可以看到如下對(duì)話框。 | ||
[[文件:Carduino Leonardo17.jpg|297px|有框|居中]] | [[文件:Carduino Leonardo17.jpg|297px|有框|居中]] | ||
? | + | ===Arduino基本語(yǔ)言概述=== | |
? | ==Arduino基本語(yǔ)言概述== | + | |
Arduino使用起來(lái)要比其他微處理器更易懂,與Basic Stamp有些相似,Arduino的編程語(yǔ)言更為簡(jiǎn)單和人性化,Arduino編程語(yǔ)言基于C語(yǔ)言,但其實(shí)用性要遠(yuǎn)高于C語(yǔ)言,主要由于它將一些常用語(yǔ)句組合函數(shù)化,例如:延時(shí)函數(shù)delay(1000)即為一秒。 | Arduino使用起來(lái)要比其他微處理器更易懂,與Basic Stamp有些相似,Arduino的編程語(yǔ)言更為簡(jiǎn)單和人性化,Arduino編程語(yǔ)言基于C語(yǔ)言,但其實(shí)用性要遠(yuǎn)高于C語(yǔ)言,主要由于它將一些常用語(yǔ)句組合函數(shù)化,例如:延時(shí)函數(shù)delay(1000)即為一秒。 | ||
? | ===Arduino程序基本架構(gòu)=== | + | ====Arduino程序基本架構(gòu)==== |
(1)聲明變量及接口名稱(int val; int ledPin=13;)。<br/> | (1)聲明變量及接口名稱(int val; int ledPin=13;)。<br/> | ||
(2)setup()——函數(shù)在程序開(kāi)始時(shí)使用,可以初始化變量、接口模式、啟用庫(kù)等(例如:pinMode(ledPin,OUTUPT);)。<br/> | (2)setup()——函數(shù)在程序開(kāi)始時(shí)使用,可以初始化變量、接口模式、啟用庫(kù)等(例如:pinMode(ledPin,OUTUPT);)。<br/> | ||
(3)loop()——在setup()函數(shù)之后,即初始化之后,loop() 讓你的程序循環(huán)地被執(zhí)行,使用它來(lái)運(yùn)轉(zhuǎn)Arduino。<br/> | (3)loop()——在setup()函數(shù)之后,即初始化之后,loop() 讓你的程序循環(huán)地被執(zhí)行,使用它來(lái)運(yùn)轉(zhuǎn)Arduino。<br/> | ||
? | ===Arduino常用編程語(yǔ)言=== | + | ====Arduino常用編程語(yǔ)言==== |
(1)pinMode(接口名稱,OUTPUT或INPUT)將——接口定義為輸入或輸出接口,用在setup()函數(shù)里。<br/> | (1)pinMode(接口名稱,OUTPUT或INPUT)將——接口定義為輸入或輸出接口,用在setup()函數(shù)里。<br/> | ||
(2)digitalWrite(接口名稱,HIGH或LOW)——將數(shù)字接口值至高或低。<br/> | (2)digitalWrite(接口名稱,HIGH或LOW)——將數(shù)字接口值至高或低。<br/> | ||
第77行: | 第77行: | ||
(9)Serial.print(數(shù)據(jù),數(shù)據(jù)的進(jìn)制)——從串行端口輸出數(shù)據(jù)。Serial.print(數(shù)據(jù))默認(rèn)為十進(jìn)制等于Serial.print(數(shù)據(jù),DEC)。<br/> | (9)Serial.print(數(shù)據(jù),數(shù)據(jù)的進(jìn)制)——從串行端口輸出數(shù)據(jù)。Serial.print(數(shù)據(jù))默認(rèn)為十進(jìn)制等于Serial.print(數(shù)據(jù),DEC)。<br/> | ||
(10)Serial.println(數(shù)據(jù),數(shù)據(jù)的進(jìn)制)——從串行端口輸出數(shù)據(jù),跟隨一個(gè)回車(chē)和一個(gè)換行符。這個(gè)函數(shù)所取得的值與 Serial.print()一樣。<br/> | (10)Serial.println(數(shù)據(jù),數(shù)據(jù)的進(jìn)制)——從串行端口輸出數(shù)據(jù),跟隨一個(gè)回車(chē)和一個(gè)換行符。這個(gè)函數(shù)所取得的值與 Serial.print()一樣。<br/> | ||
? | == | + | ===例子程序=== |
? | + | 使用Carduino Leonardo鼠標(biāo)應(yīng)用 | |
? | + | ====使用硬件==== | |
? | [ | + | * [http://www.alsrobot.cn/goods-147.html Arduino傳感器擴(kuò)展板]*1個(gè) |
? | + | * [http://www.alsrobot.cn/goods-170.html 按壓式大按鈕模塊]*1個(gè) | |
? | [ | + | * [http://www.alsrobot.cn/goods-164.html 雙軸按鍵搖桿]*1個(gè) |
? | + | * [http://www.alsrobot.cn/goods-196.html 3PIN傳感器連接線]*2條 | |
? | [ | + | * [http://www.alsrobot.cn/goods-94.html 杜邦線] *若干 |
? | + | ====實(shí)驗(yàn)連接圖==== | |
? | [ | + | |
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | [ | + | |
? | + | ||
將傳感器擴(kuò)展板插到Carduino Leonardo上,用3PIN數(shù)據(jù)線將按鍵接到數(shù)字2口上作為啟動(dòng)和關(guān)閉鼠標(biāo)的功能鍵,將Joystick上B(Button)接到數(shù)字3口上,X(X軸)接到模擬0口,Y(Y軸)接到模擬1口。 | 將傳感器擴(kuò)展板插到Carduino Leonardo上,用3PIN數(shù)據(jù)線將按鍵接到數(shù)字2口上作為啟動(dòng)和關(guān)閉鼠標(biāo)的功能鍵,將Joystick上B(Button)接到數(shù)字3口上,X(X軸)接到模擬0口,Y(Y軸)接到模擬1口。 | ||
? | [[文件:Carduino Leonardo24.jpg| | + | [[文件:Carduino Leonardo24.jpg|500px|有框|居中]] |
? | + | ====例子程序==== | |
<pre style='color:blue'> | <pre style='color:blue'> | ||
const int switchPin = 2; // switch to turn on and off mouse control | const int switchPin = 2; // switch to turn on and off mouse control | ||
第166行: | 第158行: | ||
} | } | ||
</pre> | </pre> | ||
+ | ==產(chǎn)品相關(guān)推薦== | ||
+ | [[文件:erweima.png|230px|無(wú)框|右]] | ||
+ | ===產(chǎn)品購(gòu)買(mǎi)地址=== | ||
+ | [http://gharee.com/goods-114.html Carduino Leonardo 萊昂納多控制器]<br/> | ||
+ | ===周邊產(chǎn)品推薦=== | ||
+ | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.68.DTRMpg&id=3937179707 Mini USB數(shù)據(jù)線]<br/> | ||
+ | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.12.R2rMhC&id=15365374647 Arduino leonardo原裝進(jìn)口]<br/> | ||
+ | ===相關(guān)問(wèn)題解答=== | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5288&highlight=leonardo leonardo找不到端口]<br/> | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=1352&highlight=leonardo Arduino UNO和Leonardo的區(qū)別]<br/> | ||
+ | ===相關(guān)學(xué)習(xí)資料=== | ||
+ | [http://pan.baidu.com/s/1kTxW4PD Arduino leonardo 電路圖 Eagle 設(shè)計(jì)參考文件]<br/> | ||
+ | [https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf Arduino leonardo 電路原理圖 PDF 文件]<br/> | ||
+ | [https://www.arduino.cc/en/Main/ArduinoBoardLeonardo Arduino leonardo 官網(wǎng)介紹(英文版)]<br/> | ||
+ | [http://datasheet.soiseek.cn/ATMEL/ATMEGA32U4-16MU/1.html ATmega32U4 芯片資料]<br/> | ||
+ | [http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/> |
2015年10月23日 (五) 11:44的最后版本
目錄 |
產(chǎn)品概述
- Carduino Leonardo是一塊完全兼容Arduino Leonardo的基于開(kāi)放源代碼的USB接口Simple I/O接口板(包括22通道數(shù)字GPIO,7通道PWM輸出,12通道10bit ADC輸入通道),并且具有使用類(lèi)似Java、C語(yǔ)言的IDE集成開(kāi)發(fā)環(huán)境。讓您可以快速使用Arduino語(yǔ)言與Flash或Processing等軟件,作出互動(dòng)作品。
Carduino可以使用開(kāi)發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進(jìn)馬達(dá)或其他輸出裝置。也可作為鍵盤(pán)、鼠標(biāo)等輸入裝置。Carduino Leonardo也可以獨(dú)立運(yùn)作成為一個(gè)可以跟軟件溝的接口,例如說(shuō):Flash Processing Max/MSP VVVV 或其他互動(dòng)軟件。Arduino開(kāi)發(fā)IDE接口基于開(kāi)放源代碼,可以讓您免費(fèi)下載使用開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。
規(guī)格參數(shù)
1. 控制器: ATmega32u4
2. 工作頻率: 16 MHz
3. 工作電壓: 5V
4. 輸入電壓(推薦): 7-12V
5. 數(shù)字IO口: 22 (D0~D13,D14-MISO,D15-SCK,D16-MOSI,D18~23[A0~A5])
6. PWM通道: 7(D3,D5,D6,D9,D10,D11,D13)
7. 模擬輸入: 12(A0~A5,D4-A6,D6-A7,D8-A8,D9-A9,D10-A10,D12-A11)
8. 5V數(shù)字/模擬口最大允許電流: 40 mA
9. 3.3V 數(shù)字/模擬口最大允許電流: 50 mA
10. Flash Memory: 32 KB (ATmega32u4) of which 4 KB used by bootloader
11. SRAM: 2.5 KB (ATmega32u4)
12. EEPROM: 1 KB (ATmega32u4)
使用方法
驅(qū)動(dòng)安裝
1.軟件下載
請(qǐng)下載arduino1.01或以上版本
官方軟件下載地址:http://arduino.cc/en/Main/Software
2.軟件及硬件驅(qū)動(dòng)安裝
此軟件是綠色版,軟件解壓縮后即可使用。
解壓軟件下載地址:
http://jaist.dl.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.exe
軟件解壓完成后,接下來(lái)要安裝CrduinoLeonardo硬件驅(qū)動(dòng)。
將Crduino Leonardo上的方頭MiNi USB連接好之后,另外一端的USB連接到計(jì)算機(jī)任意一個(gè)USB接口。
接下來(lái)系統(tǒng)就會(huì)出現(xiàn)Arduino Leonardo的Windows Update驅(qū)動(dòng)程序安裝畫(huà)面。
不過(guò)目前在Windows Update中還無(wú)法找到驅(qū)動(dòng)程序。
這時(shí)需要我們手動(dòng)安裝驅(qū)動(dòng),打開(kāi)“控制面板”下的“設(shè)備管理器”
這時(shí)在其他設(shè)備里會(huì)出現(xiàn)一個(gè)帶有嘆號(hào)的Arduino Leonardo設(shè)備。在上圖標(biāo)上點(diǎn)擊右鍵選擇“更新驅(qū)動(dòng)程序軟件”
在“您想如何搜索驅(qū)動(dòng)程序軟件”中選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件”
然后選擇你Arduino IDE軟件解壓到盤(pán)符找到Drivers文件夾點(diǎn)擊下一步
這時(shí)會(huì)出現(xiàn)Windows無(wú)法驗(yàn)證此驅(qū)動(dòng)程序軟件發(fā)布者警告
安裝完成后在“端口(COM和LPT)”下回生成一個(gè)新的端口我這里生成的是COM3
軟件使用說(shuō)明
打開(kāi)軟件只需雙擊執(zhí)行arduino.exe執(zhí)行文件,就可以看到如下程序編譯窗口。從Arduino1.0開(kāi)始已經(jīng)支持中文界面了。具體修改方法電機(jī)“文件”-“參數(shù)設(shè)置”下。
在輸入程序前需要先選擇板號(hào)和COM口,COM口號(hào)就是我們剛才驅(qū)動(dòng)上的COM3。在“工具”-“Serial Port”下選擇。
然后選擇版型位置在“工具”-“Board:”-“Arduino Leonardo”。
基本設(shè)置完畢就可以編寫(xiě)程序了。首先我們打開(kāi)一個(gè)閃燈的例程。位置在“文件”-“示例”-“01.Basic”-“Blink”。
點(diǎn)擊(圖)可以將程序進(jìn)行編譯,檢查是否有語(yǔ)法錯(cuò)誤。點(diǎn)擊(圖)可以將程序下載到CarduinoLeonardo中。下載成功會(huì)在狀態(tài)窗格顯示“下載完畢”
這時(shí)會(huì)發(fā)現(xiàn)Carduino Leonardo一秒亮滅交替閃爍。
若需要進(jìn)行與Arduino串口通信點(diǎn)擊通信監(jiān)視窗口(圖),可以看到如下對(duì)話框。
Arduino基本語(yǔ)言概述
Arduino使用起來(lái)要比其他微處理器更易懂,與Basic Stamp有些相似,Arduino的編程語(yǔ)言更為簡(jiǎn)單和人性化,Arduino編程語(yǔ)言基于C語(yǔ)言,但其實(shí)用性要遠(yuǎn)高于C語(yǔ)言,主要由于它將一些常用語(yǔ)句組合函數(shù)化,例如:延時(shí)函數(shù)delay(1000)即為一秒。
Arduino程序基本架構(gòu)
(1)聲明變量及接口名稱(int val; int ledPin=13;)。
(2)setup()——函數(shù)在程序開(kāi)始時(shí)使用,可以初始化變量、接口模式、啟用庫(kù)等(例如:pinMode(ledPin,OUTUPT);)。
(3)loop()——在setup()函數(shù)之后,即初始化之后,loop() 讓你的程序循環(huán)地被執(zhí)行,使用它來(lái)運(yùn)轉(zhuǎn)Arduino。
Arduino常用編程語(yǔ)言
(1)pinMode(接口名稱,OUTPUT或INPUT)將——接口定義為輸入或輸出接口,用在setup()函數(shù)里。
(2)digitalWrite(接口名稱,HIGH或LOW)——將數(shù)字接口值至高或低。
(3)digitalRead(接口名稱)——讀出數(shù)字接口的值。
(4)analogWrite(接口名稱, 數(shù)值)——給一個(gè)接口寫(xiě)入模擬值(PWM波)。對(duì)于ATmega168芯片的Arduino(包括Mini或BT),該函數(shù)可以工作于 3,5,6,9,10和 11號(hào)接口。老版的 ATmega8芯片的USB和 serial Arduino僅僅支持 9,10和11號(hào)接口。
(5)analogRead(接口名稱)——從指定的模擬接口讀取值,Arduino對(duì)該模擬值進(jìn)行10-bit的數(shù)字轉(zhuǎn)換,這個(gè)方法將輸入的0-5電壓值轉(zhuǎn)換為 0到1023間的整數(shù)值。
(6)delay()——延時(shí)一段時(shí)間,delay(1000)為一秒。
(7)Serial.begin(波特率)——設(shè)置串行每秒傳輸數(shù)據(jù)的速率(波特率)。在同計(jì)算機(jī)通訊時(shí),使用下面這些值:300,1200,2400,4800,9600,14400,19200,28800,38400,57600或 115200。你也可以在任何時(shí)候使用其它的值,比如,與0號(hào)或1號(hào)插口通信就要求特殊的波特率。用在setup()函數(shù)里
(8)Serial.read()——讀取持續(xù)輸入的數(shù)據(jù)。
(9)Serial.print(數(shù)據(jù),數(shù)據(jù)的進(jìn)制)——從串行端口輸出數(shù)據(jù)。Serial.print(數(shù)據(jù))默認(rèn)為十進(jìn)制等于Serial.print(數(shù)據(jù),DEC)。
(10)Serial.println(數(shù)據(jù),數(shù)據(jù)的進(jìn)制)——從串行端口輸出數(shù)據(jù),跟隨一個(gè)回車(chē)和一個(gè)換行符。這個(gè)函數(shù)所取得的值與 Serial.print()一樣。
例子程序
使用Carduino Leonardo鼠標(biāo)應(yīng)用
使用硬件
- Arduino傳感器擴(kuò)展板*1個(gè)
- 按壓式大按鈕模塊*1個(gè)
- 雙軸按鍵搖桿*1個(gè)
- 3PIN傳感器連接線*2條
- 杜邦線 *若干
實(shí)驗(yàn)連接圖
將傳感器擴(kuò)展板插到Carduino Leonardo上,用3PIN數(shù)據(jù)線將按鍵接到數(shù)字2口上作為啟動(dòng)和關(guān)閉鼠標(biāo)的功能鍵,將Joystick上B(Button)接到數(shù)字3口上,X(X軸)接到模擬0口,Y(Y軸)接到模擬1口。
例子程序
const int switchPin = 2; // switch to turn on and off mouse control const int mouseButton = 3; // input pin for the mouse pushButton const int xAxis = A0; // joystick X axis const int yAxis = A1; // joystick Y axis const int ledPin = 5; // Mouse control LED // parameters for reading the joystick: int range = 12; // output range of X or Y movement int responseDelay = 5; // response delay of the mouse, in ms int threshold = range/4; // resting threshold int center = range/2; // resting position value boolean mouseIsActive = false; // whether or not to control the mouse int lastSwitchState = LOW; // previous switch state void setup() { pinMode(switchPin, INPUT); // the switch pin pinMode(ledPin, OUTPUT); // the LED pin // take control of the mouse: Mouse.begin(); } void loop() { // read the switch: int switchState = digitalRead(switchPin); // if it's changed and it's high, toggle the mouse state: if (switchState != lastSwitchState) { if (switchState == HIGH) { mouseIsActive = !mouseIsActive; // turn on LED to indicate mouse state: digitalWrite(ledPin, mouseIsActive); } } lastSwitchState = switchState;// save switch state for next comparison: // read and scale the two axes: int xReading = readAxis(A0); int yReading = readAxis(A1); // if the mouse control state is active, move the mouse: if (mouseIsActive) { Mouse.move(xReading, yReading, 0); } // read the mouse button and click or not click: // if the mouse button is pressed: if (digitalRead(mouseButton) == HIGH) { // if the mouse is not pressed, press it: if (!Mouse.isPressed(MOUSE_LEFT)) { Mouse.press(MOUSE_LEFT); } } // else the mouse button is not pressed: else { // if the mouse is pressed, release it: if (Mouse.isPressed(MOUSE_LEFT)) { Mouse.release(MOUSE_LEFT); } } delay(responseDelay); } int readAxis(int thisAxis) { // read the analog input: int reading = analogRead(thisAxis); // map the reading from the analog input range to the output range: reading = map(reading, 0, 1023, 0, range); // if the output reading is outside from the // rest position threshold, use it: int distance = reading - center; if (abs(distance) < threshold) { distance = 0; } return distance;// return the distance for this axis }
產(chǎn)品相關(guān)推薦
產(chǎn)品購(gòu)買(mǎi)地址
周邊產(chǎn)品推薦
Mini USB數(shù)據(jù)線
Arduino leonardo原裝進(jìn)口
相關(guān)問(wèn)題解答
leonardo找不到端口
Arduino UNO和Leonardo的區(qū)別
相關(guān)學(xué)習(xí)資料
Arduino leonardo 電路圖 Eagle 設(shè)計(jì)參考文件
Arduino leonardo 電路原理圖 PDF 文件
Arduino leonardo 官網(wǎng)介紹(英文版)
ATmega32U4 芯片資料
奧松機(jī)器人技術(shù)論壇