查看(SKU:RB-01C030)CarDuino Leonardo的源代碼
←
(SKU:RB-01C030)CarDuino Leonardo
跳轉至:
導航
、
搜索
因為以下原因,你沒有權限編輯本頁:
您剛才請求的操作只有這個用戶組中的用戶才能使用:
用戶
您可以查看并復制此頁面的源代碼:
<br/> [[文件:Carduino Leonardo01.jpg|400px|有框|右]] ==產(chǎn)品介紹== :Carduino Leonardo是一塊完全兼容Arduino Leonardo的基于開放源代碼的USB接口Simple I/O接口板(包括22通道數(shù)字GPIO,7通道PWM輸出,12通道10bit ADC輸入通道),并且具有使用類似Java、C語言的IDE集成開發(fā)環(huán)境。讓您可以快速使用Arduino語言與Flash或Processing等軟件,作出互動作品。<br/> Carduino可以使用開發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進馬達或其他輸出裝置。也可作為鍵盤、鼠標等輸入裝置。Carduino Leonardo也可以獨立運作成為一個可以跟軟件溝的接口,例如說:Flash Processing Max/MSP VVVV 或其他互動軟件。Arduino開發(fā)IDE接口基于開放源代碼,可以讓您免費下載使用開發(fā)出更多令人驚艷的互動作品。 ==Arduino基本技術參數(shù)== 1. 控制器: ATmega32u4 <br/> 2. 工作頻率: 16 MHz <br/> 3. 工作電壓: 5V <br/> 4. 輸入電壓(推薦): 7-12V <br/> 5. 數(shù)字IO口: 22 (D0~D13,D14-MISO,D15-SCK,D16-MOSI,D18~23[A0~A5]) <br/> 6. PWM通道: 7(D3,D5,D6,D9,D10,D11,D13) <br/> 7. 模擬輸入: 12(A0~A5,D4-A6,D6-A7,D8-A8,D9-A9,D10-A10,D12-A11) <br/> 8. 5V數(shù)字/模擬口最大允許電流: 40 mA <br/> 9. 3.3V 數(shù)字/模擬口最大允許電流: 50 mA <br/> 10. Flash Memory: 32 KB (ATmega32u4) of which 4 KB used by bootloader <br/> 11. SRAM: 2.5 KB (ATmega32u4) <br/> 12. EEPROM: 1 KB (ATmega32u4) <br/> ==Arduino下載軟件及開發(fā)環(huán)境== 1,軟件下載<br/> 請下載arduino1.01或以上版本<br/> 官方軟件下載地址:http://arduino.cc/en/Main/Software <br/> 2,軟件及硬件驅動安裝<br/> 此軟件是綠色版,軟件解壓縮后即可使用。 <br/> 解壓軟件下載地址: <br/> http://jaist.dl.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.exe <br/> 軟件解壓完成后,接下來要安裝CrduinoLeonardo硬件驅動。<br/> 將Crduino Leonardo上的方頭MiNi USB連接好之后,另外一端的USB連接到計算機任意一個USB接口。 [[文件:Carduino Leonardo02.jpg|500px|有框|居中]] 接下來系統(tǒng)就會出現(xiàn)Arduino Leonardo的Windows Update驅動程序安裝畫面。 [[文件:Carduino Leonardo03.jpg|500px|有框|居中]] 不過目前在Windows Update中還無法找到驅動程序。 [[文件:Carduino Leonardo04.jpg|500px|有框|居中]] 這時需要我們手動安裝驅動,打開“控制面板”下的“設備管理器” [[文件:Carduino Leonardo05.jpg|458px|有框|居中]] 這時在其他設備里會出現(xiàn)一個帶有嘆號的Arduino Leonardo設備。在上圖標上點擊右鍵選擇“更新驅動程序軟件” [[文件:Carduino Leonardo06.jpg|458px|有框|居中]] 在“您想如何搜索驅動程序軟件”中選擇“瀏覽計算機以查找驅動程序軟件” [[文件:Carduino Leonardo07.jpg|500px|有框|居中]] 然后選擇你Arduino IDE軟件解壓到盤符找到Drivers文件夾點擊下一步 [[文件:Carduino Leonardo08.jpg|500px|有框|居中]] 這時會出現(xiàn)Windows無法驗證此驅動程序軟件發(fā)布者警告 [[文件:Carduino Leonardo09.jpg|500px|有框|居中]] [[文件:Carduino Leonardo10.jpg|500px|有框|居中]] 安裝完成后在“端口(COM和LPT)”下回生成一個新的端口我這里生成的是COM3 [[文件:Carduino Leonardo11.jpg|373px|有框|居中]] 3,Arduino編譯下載軟件使用說明 打開軟件只需雙擊執(zhí)行arduino.exe執(zhí)行文件,就可以看到如下程序編譯窗口。從Arduino1.0開始已經(jīng)支持中文界面了。具體修改方法電機“文件”-“參數(shù)設置”下。 [[文件:Carduino Leonardo12.jpg|458px|有框|居中]] 在輸入程序前需要先選擇板號和COM口,COM口號就是我們剛才驅動上的COM3。在“工具”-“Serial Port”下選擇。 [[文件:Carduino Leonardo13.jpg|500px|有框|居中]] 然后選擇版型位置在“工具”-“Board:”-“Arduino Leonardo”。 [[文件:Carduino Leonardo14.jpg|500px|有框|居中]] 基本設置完畢就可以編寫程序了。首先我們打開一個閃燈的例程。位置在“文件”-“示例”-“01.Basic”-“Blink”。 [[文件:Carduino Leonardo15.jpg|458px|有框|居中]] 點擊(圖)可以將程序進行編譯,檢查是否有語法錯誤。點擊(圖)可以將程序下載到CarduinoLeonardo中。下載成功會在狀態(tài)窗格顯示“下載完畢” [[文件:Carduino Leonardo16.jpg|500px|有框|居中]] 這時會發(fā)現(xiàn)Carduino Leonardo一秒亮滅交替閃爍。<br/> 若需要進行與Arduino串口通信點擊通信監(jiān)視窗口(圖),可以看到如下對話框。 [[文件:Carduino Leonardo17.jpg|297px|有框|居中]] ==Arduino基本語言概述== Arduino使用起來要比其他微處理器更易懂,與Basic Stamp有些相似,Arduino的編程語言更為簡單和人性化,Arduino編程語言基于C語言,但其實用性要遠高于C語言,主要由于它將一些常用語句組合函數(shù)化,例如:延時函數(shù)delay(1000)即為一秒。 ===Arduino程序基本架構=== (1)聲明變量及接口名稱(int val; int ledPin=13;)。<br/> (2)setup()——函數(shù)在程序開始時使用,可以初始化變量、接口模式、啟用庫等(例如:pinMode(ledPin,OUTUPT);)。<br/> (3)loop()——在setup()函數(shù)之后,即初始化之后,loop() 讓你的程序循環(huán)地被執(zhí)行,使用它來運轉Arduino。<br/> ===Arduino常用編程語言=== (1)pinMode(接口名稱,OUTPUT或INPUT)將——接口定義為輸入或輸出接口,用在setup()函數(shù)里。<br/> (2)digitalWrite(接口名稱,HIGH或LOW)——將數(shù)字接口值至高或低。<br/> (3)digitalRead(接口名稱)——讀出數(shù)字接口的值。<br/> (4)analogWrite(接口名稱, 數(shù)值)——給一個接口寫入模擬值(PWM波)。對于ATmega168芯片的Arduino(包括Mini或BT),該函數(shù)可以工作于 3,5,6,9,10和 11號接口。老版的 ATmega8芯片的USB和 serial Arduino僅僅支持 9,10和11號接口。<br/> (5)analogRead(接口名稱)——從指定的模擬接口讀取值,Arduino對該模擬值進行10-bit的數(shù)字轉換,這個方法將輸入的0-5電壓值轉換為 0到1023間的整數(shù)值。<br/> (6)delay()——延時一段時間,delay(1000)為一秒。<br/> (7)Serial.begin(波特率)——設置串行每秒傳輸數(shù)據(jù)的速率(波特率)。在同計算機通訊時,使用下面這些值:300,1200,2400,4800,9600,14400,19200,28800,38400,57600或 115200。你也可以在任何時候使用其它的值,比如,與0號或1號插口通信就要求特殊的波特率。用在setup()函數(shù)里<br/> (8)Serial.read()——讀取持續(xù)輸入的數(shù)據(jù)。<br/> (9)Serial.print(數(shù)據(jù),數(shù)據(jù)的進制)——從串行端口輸出數(shù)據(jù)。Serial.print(數(shù)據(jù))默認為十進制等于Serial.print(數(shù)據(jù),DEC)。<br/> (10)Serial.println(數(shù)據(jù),數(shù)據(jù)的進制)——從串行端口輸出數(shù)據(jù),跟隨一個回車和一個換行符。這個函數(shù)所取得的值與 Serial.print()一樣。<br/> ==使用Carduino Leonardo鼠標應用== 1、需要的器材: <br/> 1) Arduino傳感器擴展板 [[文件:Carduino Leonardo18.jpg|500px|有框|居中]] 接口示意圖如下: [[文件:Carduino Leonardo19.jpg|500px|有框|居中]] 2)按壓式大按鈕模塊 [[文件:Carduino Leonardo20.jpg|500px|有框|居中]] 3)雙軸按鍵搖桿 [[文件:Carduino Leonardo21.jpg|500px|有框|居中]] 4) 3PIN傳感器連接線<br/> 兩條3PIN傳感器連接線 [[文件:Carduino Leonardo22.jpg|240px|有框|居中]] 5)杜邦線 <br/> 兩條杜邦線 [[文件:Carduino Leonardo23.jpg|500px|有框|居中]] 2,硬件連接: <br/> 將傳感器擴展板插到Carduino Leonardo上,用3PIN數(shù)據(jù)線將按鍵接到數(shù)字2口上作為啟動和關閉鼠標的功能鍵,將Joystick上B(Button)接到數(shù)字3口上,X(X軸)接到模擬0口,Y(Y軸)接到模擬1口。 [[文件:Carduino Leonardo24.jpg|500px|有框|居中]] 3,例程源代碼: <pre style='color:blue'> 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 } </pre> ==產(chǎn)品相關推薦== 購買地址:[http://gharee.com/goods-114.html Carduino Leonardo 萊昂納多控制器]
返回
(SKU:RB-01C030)CarDuino Leonardo
。
來自“
http://gharee.com/wiki/index.php/(SKU:RB-01C030)CarDuino_Leonardo
”
導航菜單
個人工具
登錄
名字空間
頁面
討論
變換
查看
閱讀
查看源代碼
查看歷史
操作
搜索
導航
首頁
社區(qū)專頁
新聞動態(tài)
最近更改
隨機頁面
工具箱
鏈入頁面
相關更改
特殊頁面
頁面信息
隱私政策
關于ALSROBOT WiKi
免責聲明