《鴻蒙機器人編程》課件-2 嵌入式軟硬件開發(fā)_第1頁
《鴻蒙機器人編程》課件-2 嵌入式軟硬件開發(fā)_第2頁
《鴻蒙機器人編程》課件-2 嵌入式軟硬件開發(fā)_第3頁
《鴻蒙機器人編程》課件-2 嵌入式軟硬件開發(fā)_第4頁
《鴻蒙機器人編程》課件-2 嵌入式軟硬件開發(fā)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

嵌入式軟硬件開發(fā)課程內(nèi)容課程目的:理解嵌入式軟硬件開發(fā)的基本概念和原理掌握Arduino開發(fā)板的特點、功能和應(yīng)用學(xué)習(xí)搭建Arduino開發(fā)環(huán)境并進行基礎(chǔ)實驗?NXROBO20232課程目錄:嵌入式軟硬件開發(fā)介紹Arduino開發(fā)板介紹Arduino開發(fā)環(huán)境搭建

Arduino開發(fā)程序架構(gòu)Arduino基礎(chǔ)實驗嵌入式軟硬件開發(fā)介紹ROS智能機器人的系統(tǒng)分成兩個相對獨立的部分(ROS決策運算層與底層驅(qū)動硬件層),他們之間采用串口通信的方式進行雙向數(shù)據(jù)連接?NXROBO20233嵌入式軟硬件開發(fā)介紹Arduino(或者STM32)作為底層驅(qū)動控制部分主要完成直流電機的速度閉環(huán)控制,ROS層作為上位機獲取攝像頭、雷達等傳感器節(jié)點以及跑建圖和導(dǎo)航算法,如果再加上平常PC的調(diào)試。整個的軟件結(jié)構(gòu)應(yīng)該是下圖的樣子。?NXROBO20234Arduino開發(fā)板介紹?NXROBO20235ArduinoUNOArduinoMEGA2560ArduinoDUEArduino開發(fā)環(huán)境搭建ArduinoIDE是一款專門為Arduino平臺設(shè)計的集成開發(fā)環(huán)境。它提供了簡單易用的編程界面,讓用戶可以輕松地編寫、上傳和調(diào)試Arduino代碼。ArduinoIDE基于Java開發(fā),支持跨平臺使用,可以在Windows、MacOS和Linux等操作系統(tǒng)上運行。ArduinoIDE的安裝推薦使用官網(wǎng)版本,前往以下網(wǎng)址進行下載:https://www.arduino.cc/en/software?NXROBO20236Arduino開發(fā)環(huán)境搭建?NXROBO20237Arduino開發(fā)環(huán)境搭建?NXROBO20238根據(jù)使用的系統(tǒng)下載對應(yīng)的版本,下載完成后進行安裝即可。打開ArduinoIDE,可以看到如下界面:確定項目文件夾路徑與編輯器語言?NXROBO20239在上邊欄中點擊“Flie”-“Preference”確定項目文件夾路徑與編輯器語言?NXROBO202310在彈出來的界面中,其中Sketchbooklocation為項目文件夾路徑,根據(jù)實際放置情況選擇路徑,在Language選項中可將語言切換為中文確定開發(fā)板與端口?NXROBO202311以本次實驗所用的ArduinoMEGA2560開發(fā)板為例,使用數(shù)據(jù)線連接電腦與Arduino,在上邊欄中點擊“工具”-“開發(fā)板”,選擇所使用的開發(fā)板型號(此處實驗選擇ArduinoMEGA2560)確定開發(fā)板與端口?NXROBO202312同時端口號選擇連接使用的端口,會有提示連接的信息確定開發(fā)板與端口?NXROBO202313選擇后,會顯示連接的開發(fā)板信息,也可以在"工具"-"獲得開發(fā)板信息"驗證對應(yīng)的信息。Arduino開發(fā)程序架構(gòu)Arduino程序的最基本結(jié)構(gòu)必要代碼如下:?NXROBO202314可以把這程序看作是兩個部分,初始化voidsetup()、循環(huán)體voidloop()。在Arduino運行時,會先運行一次初始化部分的代碼,然后重復(fù)地運行循環(huán)體部分的代碼。數(shù)字I/O操作函數(shù)數(shù)字I/O意為數(shù)字電平輸入/輸出、一般帶序號的引腳可作為數(shù)字I/O引腳使用。?NXROBO202315引腳模式設(shè)置pinMode()引腳電平設(shè)置digitalWrite()?NXROBO202316引腳電平讀取digitalRead()?NXROBO202317模擬I/O操作函數(shù)模擬I/O意為模擬電壓信號輸入/輸出,Arduino可以通過DAC功能(Zero、Due、MKR系列開發(fā)板)或者使用PWM功能實現(xiàn)等效電壓輸出。Arduino開發(fā)板上模擬I/O引腳有:引腳序號、A開頭的為模擬信號輸入引腳、標(biāo)有“~”符號的引腳為支持PWM輸出引腳。?NXROBO202318模擬信號輸出analogWrite()模擬信號讀取analogRead()?NXROBO202319模擬信號基準(zhǔn)電壓analogReference()?NXROBO202320模擬信號讀取分辨率設(shè)置analogReadResolution()?NXROBO202321模擬信號輸出分辨率設(shè)置analogWriteResolution()?NXROBO202322時間函數(shù)?NXROBO202323Arduino通過時間函數(shù)可實現(xiàn)延時、暫停等操作,與時間有關(guān)的函數(shù)有以下4個。暫停程序(毫秒)delay()暫停程序(微秒)delayMicroseconds()?NXROBO202324運行計時(毫秒)millis()?NXROBO202325運行計時(微秒)micros()?NXROBO202326LED的控制-LED發(fā)光原理LED(light-emittingdiode)的發(fā)光原理基于半導(dǎo)體材料的特性。LED是一種PN結(jié)二極管,下圖中P側(cè)電極板與正極線(金絲)相連成正極,N側(cè)電極板為負(fù)極。當(dāng)電流通過LED時,電子從N區(qū)域(負(fù)極)躍遷到P區(qū)域(正極),在躍遷的過程中,電子會釋放能量以光的形式,產(chǎn)生光子。這個過程稱為輻射復(fù)合。?NXROBO202327使用數(shù)字輸出引腳控制單個LED對于一般的常規(guī)LED,使用以下連接方式:-將LED的陽極(一般為長腳)連接到Arduino的數(shù)字輸出引腳,如D2、D3、D4等。-將LED的陰極(一般為短腳)連接到Arduino的地(GND)引腳,或者通過一個適當(dāng)?shù)碾娮柽B接到地引腳。編寫arduino程序:?NXROBO202328使用數(shù)字輸出引腳和電位器控制LED的亮度連接方式:-將LED的陽極(一般為長腳)連接到Arduino的數(shù)字輸出引腳,如D3。-將LED的陰極(一般為短腳)連接到Arduino的地(GND)引腳。-連接一個電位器(可變電阻)的兩個端口,其中一個連接到Arduino的3.3V或5V引腳,另一個連接到LED的陽極。編寫arduino程序:?NXROBO202329舵機的控制-9g舵機介紹本次實驗采用9g舵機,9g舵機是一種迷你型的舵機,得名于其重量約為9克,也稱為微型舵機。它是一種小型、輕便且經(jīng)濟實惠的舵機,常用于機器人、無人機、模型、航模以及各種DIY電子項目中。?NXROBO2023309g舵機廣泛應(yīng)用于各種電子、機械和機器人項目中,例如:-模型航空器和車輛:用于控制飛機、車輛和船舶的舵、翼面、襟翼等。-機器人:用于機器人的關(guān)節(jié)和運動控制。-攝像云臺:用于相機或傳感器云臺的穩(wěn)定控制。-無人機:用于小型無人機的姿態(tài)穩(wěn)定和控制。舵機的控制-9g舵機介紹采用9g舵機來驅(qū)動9g舵機是一個常見的Arduino項目,可以通過Arduino板上的數(shù)字引腳輸出PWM(脈沖寬度調(diào)制)信號來控制舵機的角度。以下是常見型號的9g舵機的技術(shù)參數(shù)表格:?NXROBO202331連接9g舵機將9g舵機連接到Arduino板。9g舵機通常有三個引腳:信號(Signal)、電源(VCC)和地(GND)。連接方式如下:-將舵機的信號線連接到Arduino的一個數(shù)字輸出引腳(例如D9)。-將舵機的電源線連接到Arduino的電源引腳(例如5V)。-將舵機的地線連接到Ar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論