Arduino編程控制與應(yīng)用 課件 能力模塊五 掌握Arduino智能控制的應(yīng)用_第1頁
Arduino編程控制與應(yīng)用 課件 能力模塊五 掌握Arduino智能控制的應(yīng)用_第2頁
Arduino編程控制與應(yīng)用 課件 能力模塊五 掌握Arduino智能控制的應(yīng)用_第3頁
Arduino編程控制與應(yīng)用 課件 能力模塊五 掌握Arduino智能控制的應(yīng)用_第4頁
Arduino編程控制與應(yīng)用 課件 能力模塊五 掌握Arduino智能控制的應(yīng)用_第5頁
已閱讀5頁,還剩146頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Arduino編程控制與應(yīng)用能力模塊五掌握Arduino智能控制的應(yīng)用任務(wù)一完成倒車?yán)走_(dá)功能的實(shí)現(xiàn)導(dǎo)入同學(xué)們?cè)诔俗嚂r(shí)是不是會(huì)經(jīng)歷倒車入庫這樣的環(huán)節(jié),在我們的生活中,倒車時(shí)一般車輛都會(huì)有雷達(dá)感應(yīng)裝置來輔助我們進(jìn)行倒車時(shí)的距離監(jiān)測(cè)。接下來我們可以利用Arduino來實(shí)現(xiàn)這一功能,今天我們將會(huì)自己動(dòng)手來實(shí)現(xiàn)倒車?yán)走_(dá)。新授Newteaching1目錄一、倒車?yán)走_(dá)的基本知識(shí)三、超聲波聲波測(cè)距模塊的電路連接五、第三方庫的安裝二、超聲波測(cè)距的原理四、超聲波模塊工作原理六、液晶顯示屏七、1602液晶顯示模塊常用的控制函數(shù)八、蜂鳴器的使用九、蜂鳴器常用控制函數(shù)一、倒車?yán)走_(dá)的基本知識(shí)(一)定義及作用

倒車?yán)走_(dá),或稱泊車輔助系統(tǒng)是一種安裝在汽車前、后保險(xiǎn)杠上能在汽車泊車或者倒車時(shí)使用的安全輔助裝置(如圖所示),它能夠使用聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,幫助駕駛員掃除視野死角和視線模糊的缺陷,提高駕駛的安全性。

一、倒車?yán)走_(dá)的基本知識(shí)(二)結(jié)構(gòu)及工作原理

倒車?yán)走_(dá)通常包含超聲波探頭、控制主機(jī)以及顯示提醒裝置等部件。超聲波探頭集成了超聲波發(fā)射和接收探測(cè)功能,控制主機(jī)則將超聲波探頭采集信號(hào)進(jìn)行處理,轉(zhuǎn)換成距離信息,然后通過顯示提醒裝置顯示距離信息或發(fā)出報(bào)警提示聲音。泊車輔助系統(tǒng)部件組成如圖所示。

二、超聲波測(cè)距的原理1根據(jù)聲波的頻率范圍,聲波可分為次聲波、聲波和超聲波。其中20Hz~20kHz的范圍內(nèi)時(shí),可為人耳所感覺,稱為聲波;20Hz以下的機(jī)械振動(dòng)人耳聽不到,稱為次聲波;頻率高于20kHz的機(jī)械振動(dòng)稱為超聲波。2超聲波在空氣中傳播速度為340m/s(0.034cm/μs),控制板檢測(cè)到超聲波模塊ECHO端子高電平的持續(xù)時(shí)間(超聲波來回時(shí)間)為t(μs),則可以計(jì)算出超聲波模塊與障礙物之間的距離s=0.034×(t/2),計(jì)算得到的距離s單位是厘米(cm),如圖所示。

超聲波倒車?yán)走_(dá)就是利用超聲波測(cè)距原理,測(cè)量出障礙物到車體的距離,并通過顯示屏來顯示倒車距離。三、超聲波聲波測(cè)距模塊的電路連接1超聲波傳感器型號(hào)眾多,本書中我們介紹一個(gè)比較常用的超聲波測(cè)距模塊是“SR04”。SR04帶有1個(gè)超聲波發(fā)射探頭、1個(gè)超聲波接收探頭以及控制電路(如圖所示),測(cè)量范圍約是2~400cm,測(cè)量精度可達(dá)3mm。2SR04超聲波測(cè)距模塊有VCC、TRIG、ECHO、GND共4個(gè)接線端子,其中VCC接+5V電源正極,GND接電源負(fù)極,TRIG是觸發(fā)信號(hào)輸入,ECHO則是回聲信號(hào)輸出。本節(jié)案例中我們將VCC、TRIG、ECHO、GND這四個(gè)端子分別接入到5V、2號(hào)數(shù)字管腳、3號(hào)數(shù)字管腳、GND,連接完成后如圖所示。

四、超聲波模塊工作原理

如圖所示,當(dāng)控制板朝TRIG端子發(fā)送10微秒高電平信號(hào)后,模塊被觸發(fā),其發(fā)射探頭朝某一方向發(fā)射超聲波信號(hào),發(fā)0射超聲波信號(hào)的同時(shí)開始計(jì)時(shí)。超聲波碰到障礙物后立即返回,接收探頭接收到被障礙物反射回來的信號(hào)后立即停止計(jì)時(shí)。ECHO高電平的持續(xù)時(shí)間就是超聲波信號(hào)在空氣中的飛行時(shí)間。五、第三方庫的安裝

庫就是把一些函數(shù)封裝好,保存為獨(dú)立文件,使用時(shí)直接調(diào)用就行。Arduino的庫通常包含標(biāo)準(zhǔn)庫和第三方庫。標(biāo)準(zhǔn)庫在完成ArduinoIDE的安裝后就已經(jīng)自動(dòng)導(dǎo)入,編程時(shí)只需要直接調(diào)用就行。第三方庫則需要編程人員自行導(dǎo)入。六、液晶顯示屏1本任務(wù)中采用了可以顯示2行,每行16個(gè)字符的液晶顯示模塊,因此也稱1602液晶顯示模塊,如圖所示。21602液晶顯示模塊的行號(hào)和列號(hào)都是從“0”開始的,如圖所示,第一行的行號(hào)是row0,第一列的列號(hào)是column0。

與計(jì)算機(jī)上輸入字符一樣,在1602液晶顯示模塊上顯示字符時(shí)也有光標(biāo)。在控制輸出字符之前需要將光標(biāo)移動(dòng)到所需要輸出字符的位置上,每輸出一個(gè)字符,光標(biāo)會(huì)自動(dòng)跳到下一個(gè)輸出位置。三、超聲波聲波測(cè)距模塊的電路連接11602液晶顯示模塊通常集成了字庫芯片,通過LiquidCrystal類庫提供的API,可以很方便地被用來顯示英文字母和一些符號(hào)。常見的1602液晶顯示模塊有16個(gè)接線端子,每個(gè)端子的符號(hào)及連接說明如表5-1-2所示。其中,3號(hào)端子V0是液晶顯示屏對(duì)比度的調(diào)整控制端子。該端子接到電源正極時(shí)對(duì)比度最弱,顯示痕跡最淡;該端子若接地時(shí)對(duì)比度最最高,但對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,同樣無法清晰看到顯示內(nèi)容。所以該端子通常連接一個(gè)10KΩ的可調(diào)電阻使用。24號(hào)端子RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。5號(hào)端子RW為讀寫信號(hào)選擇,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作,本書示例中不涉及讀操作,所以一般都在程序初始化時(shí)將這個(gè)端子設(shè)為低電位。6號(hào)端子E為使能端,當(dāng)E端子由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。

七、1602液晶顯示模塊常用的控制函數(shù)

1602液晶顯示模塊的控制涉及了7個(gè)端子,指令比較復(fù)雜。Arduino很大的優(yōu)勢(shì)就是可以調(diào)用關(guān)聯(lián)庫的相應(yīng)函數(shù),并通過設(shè)置對(duì)應(yīng)參數(shù)實(shí)現(xiàn)復(fù)雜的功能控制。1602液晶顯示模塊使用到的函數(shù)庫文件名為“LiquidCrystal”,可以使用語句“#include<LiquidCrystal.h>”調(diào)用其中LiquidCrystal.h文件。該函數(shù)庫中常用的函數(shù)如下:(一)LiquidCrystal()函數(shù)這是一個(gè)硬件初始化函數(shù),用于定義1602液晶顯示模塊中控制端子和數(shù)據(jù)總線端子與Arduino控制板的連接情況。(二)clear()函數(shù)功能:清除屏幕上的所有內(nèi)容,并將光標(biāo)定位到屏幕左上角,即前面圖7-14中的row0、column0對(duì)應(yīng)的位置。語法:lcd.clear(),這里的lcd是指從LiquidCrystal類庫中創(chuàng)建的對(duì)象名稱。返回值:無。七、1602液晶顯示模塊常用的控制函數(shù)

(三)begin()函數(shù)功能:設(shè)置顯示內(nèi)容的行列數(shù)。語法:lcd.begin(cols,rows),其中cols指顯示模塊允許顯示內(nèi)容的列數(shù);rows指顯示模塊允許顯示內(nèi)容的行數(shù)。(四)home()函數(shù)將光標(biāo)移動(dòng)到左上角的位置(也即row0、column0對(duì)應(yīng)的位置),語法:lcd.home()。(五)setcursor()函數(shù)功能:設(shè)置光標(biāo)位置。將光標(biāo)定位在指定位置,如setCursor(3,0)是指將光標(biāo)定位在第1排第4列。語法:lcd.setCursor(col,row)。返回值:無。(六)print()函數(shù)功能:將文本輸出到LCD上。每輸出一個(gè)字符,光標(biāo)就會(huì)向后移動(dòng)一格。語法:lcd.print(data)。八、蜂鳴器的使用

1無源他激型蜂鳴器的工作發(fā)聲原理是:方波信號(hào)輸入諧振裝置轉(zhuǎn)換為聲音信號(hào)輸出,如圖所示。2有源自激型蜂鳴器的工作發(fā)聲原理是:直流電源輸入經(jīng)過振蕩系統(tǒng)的放大、取樣電路后,輸入諧振裝置轉(zhuǎn)換為聲音信號(hào)輸出,如圖所示。

蜂鳴器(如圖所示)的發(fā)聲原理由振動(dòng)裝置和諧振裝置組成,而蜂鳴器又分為無源他激型與有源自激型兩種。這兩種類型從外觀上不易區(qū)分。九、蜂鳴器常用控制函數(shù)

(一)tone()函數(shù)tone()函數(shù)可以產(chǎn)生固定頻率的PWM信號(hào)來驅(qū)動(dòng)揚(yáng)聲器發(fā)聲??刂品澍Q器的管腳、聲調(diào)(聲音的頻率)和發(fā)聲時(shí)間長度都可以通過調(diào)整函數(shù)內(nèi)相關(guān)參數(shù)實(shí)現(xiàn)。tone()函數(shù)可以有兩種表達(dá)方式:tone(pin,frequency,duration);tone(pin,frequency);(二)noTone()函數(shù)noTone()函數(shù)用來停止tone()函數(shù)發(fā)聲。noTone(pin)函數(shù)中的參數(shù)pin表示停止所對(duì)應(yīng)管腳編號(hào)的tone()函數(shù)發(fā)聲。任務(wù)實(shí)施2TaskImplementation一、任務(wù)準(zhǔn)備(一)軟件及硬件準(zhǔn)備序號(hào)軟件及硬件名稱數(shù)量1ArduinoIDE/2聯(lián)網(wǎng)的電腦1臺(tái)/人3鍵盤1個(gè)/人4鼠標(biāo)1個(gè)/人5ArduinoUNO開發(fā)板1塊/人6LCD1602顯示屏擴(kuò)展板1塊/人7USB串口線1根/人一、任務(wù)準(zhǔn)備(二)場(chǎng)地設(shè)備準(zhǔn)備任務(wù)實(shí)施前需要做好場(chǎng)地防護(hù)準(zhǔn)備以及檢查實(shí)訓(xùn)場(chǎng)地和設(shè)備設(shè)施是否及存在安全隱患,如不正常請(qǐng)匯報(bào)老師并進(jìn)行處理方可實(shí)施任務(wù)。(三)安全防護(hù)準(zhǔn)備11.注意Arduino開發(fā)板與電腦的連接是否可靠;22.注意Arduino開發(fā)板與電腦連接端口的匹配;

33.注意輸出電壓,避免開發(fā)板被燒壞;

44.注意Arduino開發(fā)板與LCD1602顯示屏擴(kuò)展板連接時(shí),針腳要對(duì)孔,插入時(shí)要小心,避免陣腳變歪或折斷。

二、實(shí)施步驟(一)認(rèn)識(shí)LCD1602顯示屏擴(kuò)展板

(1)尺寸:68.6*53.4mm(2)使用管腳:2、3、4、5、6、7、8、9、10、11、12、13(3)電阻數(shù)量:一個(gè)10kΩ可調(diào)電阻(4)LCD1602顯示屏數(shù)量:1個(gè)(復(fù)用4、5、6、7、8、9、10管腳)(5)超聲波傳感器:使用2、3管腳(6)蜂鳴器:使用11管腳(7)使用說明:LCD1602顯示屏擴(kuò)展板使用超聲波傳感器檢測(cè)前方障礙物,經(jīng)過解算后將障礙物到傳感器的距離通過顯示屏展示出來,檢測(cè)范圍為20-500cm±10cm,當(dāng)距離過小時(shí),通過蜂鳴器報(bào)警,如此模擬汽車倒車的場(chǎng)景應(yīng)用。(8)電阻數(shù)量:一個(gè)10kΩ可調(diào)電阻。二、實(shí)施步驟(一)認(rèn)識(shí)LCD1602顯示屏擴(kuò)展板

LCD1602顯示屏的使用4、5、6、11、12、13、14管腳分別接入U(xiǎn)NO板的4、5、6、7、8、9、10管腳,1、16接入GND,2、15接入5V電源,管腳7、8、9、10空置。管腳3接入10kΩ可調(diào)電阻。超聲波傳感器使用2、3管腳,蜂鳴器使用11管腳。將對(duì)應(yīng)的驅(qū)動(dòng)程序通過軟件燒寫到UNO板上通電即可使用該擴(kuò)展板。通過10kΩ可調(diào)電阻調(diào)整顯示屏的亮暗程度。二、實(shí)施步驟(二)控制電路連接

步驟1:連接線的方頭端接口連接ArduinoUNO開發(fā)板,另一端USB接口連接電腦。

二、實(shí)施步驟(二)控制電路連接

步驟2:LCD1602顯示屏擴(kuò)展板安裝在Arduino開發(fā)板上。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟1:打開ArduinoIDE軟件,進(jìn)入界面。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟2:在工具-端口-選擇對(duì)應(yīng)的端口。若分不清端口,先把開發(fā)板連接上,查看端口,有COM1、COM3、COM4、COM5、COM6;斷開開發(fā)板連接,查看端口,有COM3、COM4、COM5、COM6;少了一個(gè)COM10端口,那么COM10就是對(duì)應(yīng)的端口。

連接開發(fā)板

斷開開發(fā)板二、實(shí)施步驟(四)LCD動(dòng)態(tài)顯示

步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】下方輸入如圖所示代碼。

任務(wù)效果:LCD顯示屏向左流動(dòng)顯示“Hello,inwinic!”。二、實(shí)施步驟(四)LCD動(dòng)態(tài)顯示

步驟2:分別在【代碼編寫區(qū)域】中的“voidsetup(){”和“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(四)LCD動(dòng)態(tài)顯示

步驟3:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到開發(fā)板的主控芯片中。

二、實(shí)施步驟(四)LCD動(dòng)態(tài)顯示

步驟4:若操作順利,將出現(xiàn)“上傳成功”的提示,如圖所示,LCD1602顯示屏擴(kuò)展板上出現(xiàn)“Hello,inwinic!”的動(dòng)態(tài)顯示循環(huán)。

二、實(shí)施步驟(四)LCD動(dòng)態(tài)顯示

步驟5:控制程序解析(1)首先引入1602LCD顯示屏第三方庫,接著定義顯示屏的管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即rs—4、en—6、D4—7、D5—8、D6—9、D7—10。然后使用硬件初始化函數(shù)LiquidCrystal,采用四位數(shù)據(jù)線的連接方式(即D4—D7)創(chuàng)建一個(gè)LiquidCrystal的實(shí)例。(2)進(jìn)行初始化設(shè)置。第一步,將5號(hào)管腳設(shè)為輸出模式并設(shè)置為低電平(使液晶屏處于寫操作狀態(tài));第二步,設(shè)置顯示屏的顯示區(qū)域的行列數(shù)為2行16列(即2行,每行16個(gè)字符);第三步,顯示字符串內(nèi)容“Hello,Inwinic!”并延時(shí)1s。(3)在loop函數(shù)中,利用lcd.scrollDisplayLeft函數(shù)把顯示內(nèi)容向左滾動(dòng)一格,并延時(shí)500ms。重新執(zhí)行l(wèi)oop函數(shù)刷新效果。二、實(shí)施步驟(四)LCD動(dòng)態(tài)顯示二、實(shí)施步驟(五)LCD靜態(tài)顯示

步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】下方輸入如圖所示代碼。

任務(wù)效果:LCD顯示屏靜態(tài)顯示“Hello,inwinic!”。二、實(shí)施步驟(五)LCD靜態(tài)顯示

步驟2:分別在【代碼編寫區(qū)域】中的“voidsetup(){”和“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(五)LCD靜態(tài)顯示

步驟3:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到開發(fā)板的主控芯片中。

二、實(shí)施步驟(五)LCD靜態(tài)顯示

步驟4:若操作順利,將出現(xiàn)“上傳成功”的提示,如圖所示,LCD1602顯示屏擴(kuò)展板靜態(tài)顯示“Hello,inwinic!”,顯示屏右下角的數(shù)字是累計(jì)顯示的時(shí)間。

二、實(shí)施步驟(五)LCD靜態(tài)顯示

步驟5:控制程序解析(1)首先引入1602LCD顯示屏第三方庫,接著定義顯示屏的管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即rs—4、en—6、D4—7、D5—8、D6—9、D7—10。然后使用硬件初始化函數(shù)LiquidCrystal,采用四位數(shù)據(jù)線的連接方式(即D4—D7)創(chuàng)建一個(gè)LiquidCrystal的實(shí)例。(2)進(jìn)行初始化設(shè)置。第一步,將5號(hào)管腳設(shè)為輸出模式并設(shè)置為低電平(使液晶屏處于寫操作狀態(tài));第二步,設(shè)置顯示屏的顯示區(qū)域的行列數(shù)為2行16列(即2行,每行16個(gè)字符);第三步,顯示字符串內(nèi)容“Hello,Inwinic!”。(3)在loop函數(shù)中,利用lcd.setCursor函數(shù)把光標(biāo)移動(dòng)到第2行第1列的位置,顯示系統(tǒng)運(yùn)行的時(shí)間(單位為s)。二、實(shí)施步驟(五)LCD靜態(tài)顯示二、實(shí)施步驟(六)超聲波測(cè)距

步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】下方輸入如圖所示代碼。

二、實(shí)施步驟(六)超聲波測(cè)距

步驟2:分別在【代碼編寫區(qū)域】中的“voidsetup(){”和“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(六)超聲波測(cè)距

步驟3:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到開發(fā)板的主控芯片中。

二、實(shí)施步驟(六)超聲波測(cè)距

步驟4:若操作順利,將出現(xiàn)“上傳成功”的提示,并打開串口監(jiān)視器,可監(jiān)視到探頭與障礙物之間的距離。

二、實(shí)施步驟(六)超聲波測(cè)距

步驟5:控制程序解析(1)首先使用宏定義#define定義超聲波模塊管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即trig—2、echo—3。接著定義兩個(gè)浮點(diǎn)型變量,其中distance用來存儲(chǔ)最終結(jié)果,temp用來存儲(chǔ)計(jì)算過程的中間值。(2)在初始化函數(shù)中設(shè)置串口通信波特率,將trigPin管腳定義為輸出模式,echoPin管腳定義為輸入模式。(3)在loop函數(shù)中,利用超聲波測(cè)距的原理測(cè)出超聲波傳遞的時(shí)間存儲(chǔ)在變量temp中,并利用公式計(jì)算其對(duì)應(yīng)的距離存儲(chǔ)在變量distance中,然后在串口監(jiān)視中打印出距離值及相應(yīng)的文字。二、實(shí)施步驟(六)超聲波測(cè)距二、實(shí)施步驟(七)超聲波與庫文件

步驟1:在文件夾中找到超聲波與庫文件中的“sketch_702”文件,并用ArduinoIDE打開。

二、實(shí)施步驟(七)超聲波與庫文件

步驟2:添加庫文件,先復(fù)制庫文件名稱“SR04”,點(diǎn)擊項(xiàng)目→加載庫→管理庫;搜索庫名稱找到相應(yīng)的庫文件點(diǎn)擊安裝。

復(fù)制庫名稱打開管理庫添加庫二、實(shí)施步驟(七)超聲波與庫文件

步驟3:若搜索不到相應(yīng)的庫文件,可以通過另一種方法來添加,打開庫文件復(fù)制“SR04”文件夾,下一步在電腦中找到并打開arduino的文件夾,然后打開libraries文件夾將“SR04”粘貼進(jìn)去就完成了。二、實(shí)施步驟(七)超聲波與庫文件

打開庫文件復(fù)制“SR04”庫文件添加庫文件找到arduino的文件夾二、實(shí)施步驟(八)蜂鳴器

步驟1:新建一個(gè)文檔,//后的代碼可刪除;分別在【代碼編寫區(qū)域】的“voidsetup(){”和“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(八)蜂鳴器

步驟2:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到開發(fā)板的主控芯片中。

二、實(shí)施步驟(八)蜂鳴器

步驟3:若操作順利,將出現(xiàn)“上傳成功”的提示,上傳成功后,蜂鳴器會(huì)發(fā)出滴滴的聲音,響0.3s停1s,以此循環(huán)。

二、實(shí)施步驟(八)蜂鳴器

步驟4:控制程序解析通過初始化函數(shù)將11號(hào)管腳定義為輸出模式。在loop函數(shù)中,設(shè)置11號(hào)管腳的電平的高低和延時(shí)的長短實(shí)現(xiàn)蜂鳴器發(fā)聲的調(diào)節(jié)。

二、實(shí)施步驟(九)泊車輔助系統(tǒng)

步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】的下方輸入如圖所示代碼。

二、實(shí)施步驟(九)泊車輔助系統(tǒng)

步驟2:分別在“voidsetup(){”和“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(九)泊車輔助系統(tǒng)

步驟3:最后在【代碼編寫區(qū)域】的下方輸入如圖所示代碼。

二、實(shí)施步驟(九)泊車輔助系統(tǒng)

步驟4:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到開發(fā)板的主控芯片中。

二、實(shí)施步驟(九)泊車輔助系統(tǒng)

步驟5:若操作順利,將出現(xiàn)“上傳成功”的提示,如圖所示,LCD1602顯示屏擴(kuò)展板顯示“distance:134cm”,其距離為探頭與障礙物之間的距離,由超聲波發(fā)出信號(hào)和接收信號(hào)反饋出來,當(dāng)距離過近時(shí)蜂鳴器會(huì)發(fā)出蜂鳴。

二、實(shí)施步驟(九)泊車輔助系統(tǒng)

步驟6:控制程序解析(1)首先引入超聲波和1602LCD顯示屏第三方庫,接著定義一個(gè)長整型變量distance用來存儲(chǔ)超聲波所測(cè)距離的最終結(jié)果,定義一個(gè)整型變量val用來存儲(chǔ)計(jì)算得到(決定蜂鳴器發(fā)聲頻率)的值。(2)利用整型常量定義超聲波、蜂鳴器、顯示屏的管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,超聲波為:tigPin—2、echoPin—3,蜂鳴器為:buzzerPin—11,顯示屏為:rs—4、en—6、D4—7、D5—8、D6—9、D7—10。(3)使用超聲波和液晶顯示屏函數(shù)創(chuàng)建一個(gè)超聲波實(shí)例和一個(gè)顯示屏實(shí)例。(4)進(jìn)行初始化設(shè)置。第一步,將5號(hào)管腳設(shè)為輸出模式并設(shè)置為低電平(使液晶屏處于寫操作狀態(tài));第二步,設(shè)置顯示屏的顯示區(qū)域的行列數(shù)為2行16列(即2行,每行16個(gè)字符);第三步,將11號(hào)管腳設(shè)為輸出模式。(5)在loop函數(shù)中,首先將超聲波檢測(cè)的距離存儲(chǔ)在變量distance中,并在顯示屏中實(shí)時(shí)顯示該距離值。接著根據(jù)距離值distance的大小不同進(jìn)行下一步操作:當(dāng)distance<30cm時(shí),調(diào)用子函數(shù)buzzerY使蜂鳴器一直響;當(dāng)30cm≤distance≤60cm時(shí),調(diào)用子函數(shù)buzzerX使蜂鳴器隨著距離變得越小,聲音越急促;當(dāng)distance>60cm時(shí),使蜂鳴器停止發(fā)聲。(6)自定義子函數(shù)buzzerX可以使蜂鳴器根據(jù)測(cè)得的距離值改變發(fā)聲頻率,距離越近發(fā)聲越急促;自定義子函數(shù)buzzerY則是使蜂鳴器一直響。二、實(shí)施步驟(九)泊車輔助系統(tǒng)隨堂討論3Practiceontheclass隨堂討論如果以SR04超聲波測(cè)距模塊相關(guān)庫文件的導(dǎo)入為例來介紹第三方庫的導(dǎo)入方法。導(dǎo)入步驟有哪些呢?請(qǐng)簡(jiǎn)要敘述出來。1.各組派代表統(tǒng)計(jì)遇到的問題。2.各組就各自的主要問題進(jìn)行交流,并分享解決方法。Arduino編程控制與應(yīng)用能力模塊五掌握Arduino智能控制的應(yīng)用任務(wù)二

完成入門級(jí)線控底盤功能的實(shí)現(xiàn)導(dǎo)入在車輛行駛中電機(jī)的控制、舵機(jī)的控制、編碼器計(jì)數(shù)、定速巡航等功能是不是聽起來就很炫酷,今天我們就將會(huì)學(xué)習(xí)如何使用Arduino來實(shí)現(xiàn)這些功能,來由自己編寫出控制底盤的代碼事件。新授Newteaching1目錄一、電機(jī)轉(zhuǎn)速控制二、電機(jī)轉(zhuǎn)速的讀取三、PID控制基礎(chǔ)知識(shí)一、電機(jī)轉(zhuǎn)速控制

直流有刷電機(jī)主要由定子、轉(zhuǎn)子、換向器等部件組成。如圖所示。當(dāng)整個(gè)電樞繞組即轉(zhuǎn)子將按逆時(shí)針旋轉(zhuǎn),輸入的直流電能就轉(zhuǎn)換成轉(zhuǎn)子軸上輸出的機(jī)械能。直流有刷電機(jī)的好處是比較容易控制速度和方向。

1.直流有刷電機(jī)的組成一、電機(jī)轉(zhuǎn)速控制

一般可以通過PWM(Pulsewidthmodulation,脈沖寬度調(diào)制)的方式來實(shí)現(xiàn)輸出模擬信號(hào)的效果。Arduino輸出的PWM信號(hào)頻率固定(約490Hz)的方波,而通過改變信號(hào)每個(gè)周期高低電平所占的比例(占空比),可以得到近似輸出不同電壓的效果,如圖所示。2.脈沖寬度調(diào)制(PWM)一、電機(jī)轉(zhuǎn)速控制

直流有刷電機(jī)不宜在高溫、易燃易爆等環(huán)境下使用,而且由于電機(jī)使用了電刷作為電流變換的部件,所以需要定期更換或清理接觸部位磨擦所產(chǎn)生的污物。3.直流有刷電機(jī)的維護(hù)一、電機(jī)轉(zhuǎn)速控制

一些常見的微型直流有刷電機(jī)如圖所示。4.常見的微型直流有刷電機(jī)二、電機(jī)轉(zhuǎn)速的讀取

電機(jī)轉(zhuǎn)速的讀取,使用到了Arduino的外部中斷功能。如下圖所示,中斷函數(shù)的第1個(gè)參數(shù)是中斷號(hào),中斷號(hào)為0時(shí),表示使用2號(hào)管腳;中斷號(hào)為1時(shí),表示使用3號(hào)管腳。第2個(gè)參數(shù)是中斷時(shí)被調(diào)用的子函數(shù)名,一般將中斷時(shí)需要執(zhí)行的指令都放在該子函數(shù)中。第3個(gè)參數(shù)是觸發(fā)類型,一般有RISING、FALLING和CHANGE。1.電機(jī)轉(zhuǎn)速的讀取二、電機(jī)轉(zhuǎn)速的讀取

如下圖所示,當(dāng)檢測(cè)到指定管腳的輸入電動(dòng)勢(shì)從5V降到0V時(shí),屬于FALLING條件;當(dāng)檢測(cè)到指定管腳的輸入電動(dòng)勢(shì)從0V升到5V時(shí),屬于RISING條件;而CHANGE條件則是包含了上述兩種條件。2.電機(jī)轉(zhuǎn)速的讀取條件二、電機(jī)轉(zhuǎn)速的讀取

實(shí)訓(xùn)套件中的直流電機(jī)尾部都安裝了一個(gè)編碼器模塊,按要求連接好線束后,電機(jī)每旋轉(zhuǎn)一圈,2號(hào)或3號(hào)管腳就會(huì)收到11個(gè)類似上圖的脈沖,通過計(jì)算單位時(shí)間內(nèi)的脈沖個(gè)數(shù)就可以求得電機(jī)的旋轉(zhuǎn)速度。3.求取電機(jī)的旋轉(zhuǎn)速度三、PID控制基礎(chǔ)知識(shí)

將偏差的比例、積分和微分通過線性組合構(gòu)成控制量,用該控制量對(duì)受控對(duì)象進(jìn)行控制,稱為PID算法,實(shí)際中也有P、PI和PD控制算法。其中Kp、Ki、Kd分別為比例系數(shù)、積分系數(shù)、微分系數(shù)。PID控制適用于溫度、壓力、流量、液位等幾乎所有場(chǎng)合,不同場(chǎng)合僅僅是PID參數(shù)應(yīng)設(shè)置不同,只要參數(shù)設(shè)置得當(dāng)均可以達(dá)到很好的效果。(一)PID控制概述三、PID控制基礎(chǔ)知識(shí)

比例系數(shù)Kp的作用:反應(yīng)系統(tǒng)當(dāng)前最基本的誤差,能提高系統(tǒng)的動(dòng)態(tài)響應(yīng)速度;能迅速反映誤差,從而減少誤差,但是不能消除誤差。比例系數(shù)Kp的調(diào)節(jié):范圍一般是:0.1--100。(1)如果增益值取0.1,PID調(diào)節(jié)器輸出變化為十分之一的偏差值。(2)如果增益值取100,PID調(diào)節(jié)器輸出變化為一百倍的偏差值。(3)初調(diào)時(shí),選小一些,然后慢慢調(diào)大,直到系統(tǒng)波動(dòng)足夠小時(shí),再調(diào)節(jié)積分或微分系數(shù)。(二)各系數(shù)作用分析1.比例系數(shù)Kp的作用及調(diào)節(jié)三、PID控制基礎(chǔ)知識(shí)

積分系數(shù)Ki的作用:反映系統(tǒng)的累積誤差,理論上能消除系統(tǒng)穩(wěn)態(tài)誤差,提高無差度。積分系數(shù)Ki的調(diào)節(jié):積分時(shí)間常數(shù)的定義是,偏差引起輸出增長的時(shí)間。(1)積分時(shí)間設(shè)為1秒,則輸出變化100%所需時(shí)間為1秒。(2)初調(diào)時(shí)要把積分時(shí)間設(shè)置長些,然后慢慢調(diào)小直到系統(tǒng)穩(wěn)定為止。(二)各系數(shù)作用分析2.積分系數(shù)Ki的作用及調(diào)節(jié)三、PID控制基礎(chǔ)知識(shí)

微分系數(shù)Kd的作用:反應(yīng)系統(tǒng)誤差的變化率,具有預(yù)見性,們可以預(yù)見偏差的變化趨勢(shì),產(chǎn)生超前的控制效果。微分系數(shù)Kd的調(diào)節(jié):微分值是偏差值的變化率。如果通過比例、積分參數(shù)的調(diào)節(jié)還是收不到理想的控制要求,就可以調(diào)節(jié)微分時(shí)間。初調(diào)時(shí)把這個(gè)系數(shù)設(shè)小,然后慢慢調(diào)大,直到系統(tǒng)穩(wěn)定。(二)各系數(shù)作用分析3.微分系數(shù)Kd的作用任務(wù)實(shí)施2TaskImplementation一、任務(wù)準(zhǔn)備(一)軟件及硬件準(zhǔn)備一、任務(wù)準(zhǔn)備(二)場(chǎng)地設(shè)備準(zhǔn)備任務(wù)實(shí)施前需要做好場(chǎng)地防護(hù)準(zhǔn)備以及檢查實(shí)訓(xùn)場(chǎng)地和設(shè)備設(shè)施是否及存在安全隱患,如不正常請(qǐng)匯報(bào)老師并進(jìn)行處理方可實(shí)施任務(wù)。(三)安全防護(hù)準(zhǔn)備11.注意Arduino控制開發(fā)套件與電腦的連接;22.注意連接端口的匹配;

33.注意Arduino控制開發(fā)套件的供電;

44.注意使用含有庫文件的程序時(shí),檢查ArduinoIDE中是否存在該庫文件,若無則要添加。

二、實(shí)施步驟(一)控制電路連接

步驟1:首先給Arduino控制開發(fā)套件供上220v電,通過旋鈕使內(nèi)部電源B輸出的電壓為12V左右,再將線控小車驅(qū)動(dòng)板與電源B接通,最后將連接線的方頭端接口連接ArduinoUNO開發(fā)板,另一端USB接口連接電腦。

二、實(shí)施步驟(二)控制程序編寫與上傳

步驟1:打開ArduinoIDE軟件,進(jìn)入界面。

二、實(shí)施步驟(二)控制程序編寫與上傳

步驟2:在工具-端口-選擇對(duì)應(yīng)的端口。若分不清端口,先把開發(fā)板連接上,查看端口,有COM1、COM3、COM4、COM5、COM6;斷開開發(fā)板連接,查看端口,有COM3、COM4、COM5、COM6;少了一個(gè)COM10端口,那么COM10就是對(duì)應(yīng)的端口。

二、實(shí)施步驟(三)電機(jī)的控制

步驟1:新建一個(gè)文檔,//后的代號(hào)可刪除;在【代碼編寫區(qū)域】中的輸入如圖所示代碼。

二、實(shí)施步驟(三)電機(jī)的控制

步驟2:在“voidsetup(){”的下方輸入如圖所示代碼。

二、實(shí)施步驟(三)電機(jī)的控制

步驟3:最后在“voidloop(){”的下方輸入如圖所示代碼。

二、實(shí)施步驟(三)電機(jī)的控制

步驟4:點(diǎn)擊上傳,如果操作順利,就會(huì)顯示上傳成功,然后電機(jī)進(jìn)行工作??筛某绦蛑蠵WM的值(范圍0-255)來改變電機(jī)的轉(zhuǎn)速,達(dá)到控制電機(jī)的效果。

二、實(shí)施步驟(三)電機(jī)的控制

步驟5:控制程序解析:分別定義四個(gè)整數(shù)型常量motor_left、motor_left1、motor_right、motor_right1并分別賦值為6/9/10/11。6/9控制小車左輪電機(jī)的正反轉(zhuǎn),10/11控制小車右輪電機(jī)的正反轉(zhuǎn)。定義一個(gè)整數(shù)型變量PWM并賦值50,該值代表電機(jī)轉(zhuǎn)速的控制量,范圍為0~255。

二、實(shí)施步驟(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)

步驟1:新建一個(gè)文檔,//后的代號(hào)可刪除;在【代碼編寫區(qū)域】中的輸入如圖所示代碼。

二、實(shí)施步驟(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)

步驟2:再輸入如圖所示代碼。

二、實(shí)施步驟(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)

步驟3:在“voidsetup(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)

步驟4:最后在“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)

步驟5:點(diǎn)擊上傳,如果操作順利,就會(huì)顯示上傳成功,然后打開串口監(jiān)視器,波特率選擇9600,串口發(fā)送“L”是測(cè)試左輪,發(fā)送“R”是測(cè)試右輪。選擇好測(cè)試的輪子后,將輪子勻速轉(zhuǎn)動(dòng)一圈,然后串口發(fā)送“P”,串口就會(huì)打印出輪子轉(zhuǎn)動(dòng)一圈的脈沖數(shù)。操作流程就是:發(fā)送L或R——然后轉(zhuǎn)動(dòng)輪子一圈——發(fā)送P。二、實(shí)施步驟

步驟6:控制程序解析:(1)定義兩個(gè)整數(shù)型常量encoder_Left1、encoder_Right1并分別賦值為2、3。定義兩個(gè)易變變量encoder_Left、encoder_Right,定義一個(gè)布爾變量K。(2)在自定義函數(shù)InitPin中設(shè)置encoder_Left1、encoder_Right1為輸入模式。在初始化函數(shù)中定義串口波特率為9600,調(diào)用自定義函數(shù)InitPin,開啟0、1號(hào)外部中斷,觸發(fā)方式為電平發(fā)生變化,中斷服務(wù)函數(shù)分別為counter0、counter1,最后在串口監(jiān)視窗口打印兩行測(cè)試方法提醒文本。(3)在loop函數(shù)中定義一個(gè)字符型變量cmd,讀取串口監(jiān)視器的值保存在cmd中,將K賦值為true,使用while循環(huán)函數(shù)來判斷cmd的值。(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)二、實(shí)施步驟(四)編碼器計(jì)數(shù)的實(shí)現(xiàn)程序運(yùn)行流程圖二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)

步驟1:新建一個(gè)文檔,//后的代號(hào)可刪除;在【代碼編寫區(qū)域】中的輸入如圖所示代碼。

二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)

步驟2:在“voidsetup(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)

步驟3:在“voidloop(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)

步驟4:再輸入如圖所示的voidencoderLeftISR、voidencoderRightISR、intreadEncoder函數(shù)代碼,以及圖所示的voidpwmPI、voidmotorDrive函數(shù)代碼。

二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)

步驟5:點(diǎn)擊上傳,如果操作順利,就會(huì)顯示上傳成功,隨后兩個(gè)電機(jī)都進(jìn)行工作,兩后輪驅(qū)動(dòng)行駛,速度為設(shè)定的目標(biāo)速度值(因各類誤差影響,速度值會(huì)維持在一定范圍內(nèi)有所波動(dòng))。

二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)

步驟6:控制程序解析(1)首先使用宏定義#define定義電機(jī)控制管腳和編碼器管腳與ArduinoUNO板的對(duì)應(yīng)關(guān)系。還定義了左右輪的對(duì)應(yīng)的布爾值,方便在程序中判斷選擇左右輪。(2)接著定義程序需要使用到的變量:包括觸發(fā)時(shí)間、PID相應(yīng)偏差、計(jì)數(shù)器、編碼器、脈沖寬度、定時(shí)器時(shí)間、目標(biāo)值和PID參數(shù)等變量。(3)進(jìn)行初始化設(shè)置。首先設(shè)置編碼器管腳模式并開啟外部中斷,接著設(shè)置串口通信波特率,設(shè)置電機(jī)驅(qū)動(dòng)控制管腳模式。(4)在loop函數(shù)中,使用if選擇結(jié)構(gòu),每隔30ms調(diào)用pwmPI計(jì)算函數(shù)處理數(shù)據(jù)(同時(shí)驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)),使電機(jī)保持設(shè)定的轉(zhuǎn)速運(yùn)行,車輛定速巡航。(5)定義程序需要使用到的子函數(shù):包括左右輪中斷服務(wù)函數(shù)、編碼器值讀取函數(shù)、PI計(jì)算函數(shù)和電機(jī)驅(qū)動(dòng)函數(shù)。二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)二、實(shí)施步驟(五)定速巡航的實(shí)現(xiàn)程序運(yùn)行流程圖二、實(shí)施步驟(六)舵機(jī)的控制

步驟1:新建一個(gè)文檔,//后的代號(hào)可刪除;在【代碼編寫區(qū)域】中的輸入如圖所示代碼。

二、實(shí)施步驟(六)舵機(jī)的控制

步驟2:分別在“voidsetup(){”和“voidloop(){”的下方輸入如圖所示代碼。

二、實(shí)施步驟(六)舵機(jī)的控制

步驟3:點(diǎn)擊上傳,如果操作順利,就會(huì)顯示上傳成功,隨后舵機(jī)會(huì)根據(jù)程序中設(shè)定的角度進(jìn)行轉(zhuǎn)向。可控制在程序中更改舵機(jī)轉(zhuǎn)向的角度(范圍0-180°)。

二、實(shí)施步驟(六)舵機(jī)的控制

步驟4:控制程序解析(1)首先定義整型常量servopin對(duì)應(yīng)Arduino板5號(hào)管腳,用來控制舵機(jī)。同時(shí)定義整型變量myangle來儲(chǔ)存相應(yīng)的角度值,pulsewidth來存儲(chǔ)經(jīng)計(jì)算得到的脈沖寬度值。(2)自定義子函數(shù)servoRun來控制舵機(jī),利用脈沖的持續(xù)時(shí)間(脈寬)來驅(qū)動(dòng)舵機(jī)控制其轉(zhuǎn)角。高電平時(shí)間為pulsewidth對(duì)應(yīng)值,單位為μs;低電平時(shí)間為(20000-pulsewidth)μs,即delay(20-pulsewidth/1000)ms。其中pulsewidth=(myangl1*11)+500是根據(jù)實(shí)際情況調(diào)節(jié)得到的角度和脈寬的關(guān)系。(3)進(jìn)行初始化設(shè)置。將servopin(5號(hào)管腳)設(shè)為輸出模式。(4)在loop函數(shù)中,調(diào)用子函數(shù)servoRun來控制舵機(jī)轉(zhuǎn)動(dòng)的角度。servoRun(90)即為時(shí)舵機(jī)轉(zhuǎn)動(dòng)到90°。二、實(shí)施步驟(六)舵機(jī)的控制隨堂討論3Practiceontheclass隨堂討論OLED顯示屏與傳統(tǒng)LCD顯示屏相比,OLED顯示屏具有哪些優(yōu)點(diǎn)呢?請(qǐng)簡(jiǎn)要敘述出來。1.各組派代表統(tǒng)計(jì)遇到的問題。2.各組就各自的主要問題進(jìn)行交流,并分享解決方法。Arduino編程控制與應(yīng)用能力模塊五掌握Arduino智能控制的應(yīng)用任務(wù)三

完成藍(lán)牙控制功能的實(shí)現(xiàn)導(dǎo)入在日常生活中,我們有許多用到藍(lán)牙這項(xiàng)功能的智能設(shè)備,例如藍(lán)牙耳機(jī),藍(lán)牙音響,在家居方面還有各種各樣的藍(lán)牙設(shè)備。同學(xué)們對(duì)使用藍(lán)牙來遠(yuǎn)程控制設(shè)備的技術(shù)是不是也很好奇,今天我們就會(huì)使用Arduino來逐步揭開藍(lán)牙遠(yuǎn)程控制的神秘面紗。目錄一、藍(lán)牙技術(shù)二、HC02藍(lán)牙模塊新授Newteaching1一、藍(lán)牙技術(shù)(一)定義

藍(lán)牙是一種低功耗、短距離的無線通信技術(shù),目前廣泛應(yīng)用在耳機(jī)、音箱、鍵盤鼠標(biāo)等數(shù)字設(shè)備的通信連接中。藍(lán)牙技術(shù)位于全球通用的2.4GHzISM頻段,其數(shù)據(jù)傳輸速率為1Mbps。一、藍(lán)牙技術(shù)(二)通信方式

藍(lán)牙技術(shù)規(guī)定,每一對(duì)設(shè)備之間進(jìn)行藍(lán)牙通信時(shí),必須一個(gè)為主角色,另一個(gè)為從角色。通信時(shí),主設(shè)備主動(dòng)查找,發(fā)起配對(duì),建立鏈接,然后雙方才能開始收發(fā)數(shù)據(jù)。理論上一個(gè)藍(lán)牙主設(shè)備可以同時(shí)與7個(gè)藍(lán)牙從設(shè)備進(jìn)行通信。二、HC02藍(lán)牙模塊(一)電氣特性

套件內(nèi)的串口藍(lán)牙模塊擴(kuò)展板采用了HC02藍(lán)牙模塊,基于藍(lán)牙2.0版本研發(fā),兼容BLE,雙模,高穩(wěn)定性,超低功耗,工業(yè)級(jí)的藍(lán)牙數(shù)傳模塊。二、HC02藍(lán)牙模塊

HC02藍(lán)牙模塊的電氣特性有:1.模塊尺寸2.通訊接口3.波特率4.發(fā)射功率5.空中速率6.通信電流7.工作濕度8.工作頻段9.工作電壓10.通信電平11.參考距離12.天線接口13.接收靈敏度14.工作溫度

二、HC02藍(lán)牙模塊

27mmx13mmUART1200~115200bps6dBm(最大)1.模塊尺寸2.通訊接口3.波特率4.發(fā)射功率二、HC02藍(lán)牙模塊

2Mbps30mA10%~90%5.空中速率6.通信電流7.工作濕度二、HC02藍(lán)牙模塊

2.4G3.0V~3.6V3.3VTTL10m8.工作頻段9.工作電壓10.通信電平11.參考距離二、HC02藍(lán)牙模塊

內(nèi)置PCB天線-85dBm@2Mbps-25°C~+75°C12.天線接口13.接收靈敏度13.工作溫度

二、HC02藍(lán)牙模塊(二)連接原理

用戶無需關(guān)心復(fù)雜的無線通信配置以及傳輸算法,只需要通過TTL串口連接到設(shè)備。HC02藍(lán)牙模塊只能作為從機(jī)使用,可跟筆記本電腦、手機(jī)等藍(lán)牙主設(shè)備配對(duì)后連接進(jìn)行數(shù)據(jù)傳輸,連接原理如下圖所示。任務(wù)實(shí)施2TaskImplementation一、任務(wù)準(zhǔn)備(一)軟件及硬件準(zhǔn)備一、任務(wù)準(zhǔn)備(二)場(chǎng)地設(shè)備準(zhǔn)備任務(wù)實(shí)施前需要做好場(chǎng)地防護(hù)準(zhǔn)備以及檢查實(shí)訓(xùn)場(chǎng)地和設(shè)備設(shè)施是否及存在安全隱患,如不正常請(qǐng)匯報(bào)老師并進(jìn)行處理方可實(shí)施任務(wù)。(三)安全防護(hù)準(zhǔn)備11.注意Arduino控制開發(fā)套件與電腦的連接;22.注意連接端口的匹配;

33.注意Arduino控制開發(fā)套件的供電;

44.注意使用含有庫文件的程序時(shí),檢查ArduinoIDE中是否存在該庫文件,若無則要添加。

二、實(shí)施步驟(一)控制電路連接

步驟1:Arduino控制開發(fā)套件線束連接首先給Arduino控制開發(fā)套件供上220V電,通過旋鈕使內(nèi)部電源B輸出的電壓為12V左右,再將線控小車驅(qū)動(dòng)板與電源B接通,最后將第一塊Arduino開發(fā)板通過USB連接線與電腦連接。

二、實(shí)施步驟(一)控制程序編寫與上傳

步驟2:在只連接Arduino開發(fā)板的情況下,上傳文件并等成功后再安裝其它擴(kuò)展板。因?yàn)榘惭b上擴(kuò)展板后開發(fā)板上的RX和TX的管腳會(huì)被占用,將會(huì)導(dǎo)致程序上傳不了。

二、實(shí)施步驟(二)控制電路連接

步驟1:打開ArduinoIDE軟件,進(jìn)入界面。

二、實(shí)施步驟(二)控制電路連接

步驟2:在工具-端口-選擇對(duì)應(yīng)的端口。若分不清端口,先把開發(fā)板連接上,查看端口,有COM1、COM3、COM4、COM5、COM6;斷開開發(fā)板連接,查看端口,有COM3、COM4、COM5、COM6;少了一個(gè)COM10端口,那么COM10就是對(duì)應(yīng)的端口。

二、實(shí)施步驟(三)藍(lán)牙模塊控制使用

步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】中的viodsetup下方輸入如圖所示代碼。

二、實(shí)施步驟(三)藍(lán)牙模塊控制使用

步驟2:在【代碼編寫區(qū)域】中輸入“voidLED(intnum){”,并在其下方輸入如圖所示代碼。

二、實(shí)施步驟(三)藍(lán)牙模塊控制使用

步驟3:最后在“viodlo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論