基于Arduino平臺的單片機控制技術(shù) 課件 第8章 電動機實驗設(shè)計_第1頁
基于Arduino平臺的單片機控制技術(shù) 課件 第8章 電動機實驗設(shè)計_第2頁
基于Arduino平臺的單片機控制技術(shù) 課件 第8章 電動機實驗設(shè)計_第3頁
基于Arduino平臺的單片機控制技術(shù) 課件 第8章 電動機實驗設(shè)計_第4頁
基于Arduino平臺的單片機控制技術(shù) 課件 第8章 電動機實驗設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章電動機實驗設(shè)計20241.掌握舵機的工作方式。2.圖像化編程完成一個舵機轉(zhuǎn)動實驗。3.手動編程完成舵機轉(zhuǎn)動實驗。

8.1.1學習目標舵機轉(zhuǎn)動018.101材料準備8.1.2圖形化編程名稱電子元件功能描述面包板用于接線連接元器件舵機模塊9G小舵機,在0~180°之間來回轉(zhuǎn)動02知識要點8.1.2圖形化編程所屬模塊指令功能設(shè)置舵機角度指令關(guān)系運算符:小于、小于等于、等于、大于、大于等于。在框中放入對應形狀的指令或者直接輸入數(shù)值并進行判斷條件是否成立,若成立反饋值為1,若不成立反饋值為0(1)舵機舵機是通過反饋系統(tǒng)精準控制轉(zhuǎn)動角度的電動機,實物如圖8-1。其結(jié)構(gòu)包括外殼、電路板、驅(qū)動電機、減速器及位置檢測元件(可變電阻)。工作原理**:接收機發(fā)送信號至舵機,電路板IC驅(qū)動空心杯電機轉(zhuǎn)動,經(jīng)減速齒輪傳至擺臂;同時位置檢測器(可變電阻)反饋電阻值變化,判斷是否到達指定角度。空心杯電機將細銅線繞成極薄中空轉(zhuǎn)子,內(nèi)置磁鐵,實現(xiàn)高轉(zhuǎn)速、低功耗特性。03硬件連線8.1.2圖形化編程圖8-1舵機實物圖03硬件連線8.1.2圖形化編程(2)硬件連線具體操作從實驗盒中取出一個舵機模塊,將它的信號pulse端接在實驗板數(shù)字9口上,VCC(+)端接實驗板5V電源,GND(-)端接實驗板地線,如圖8-2所示,這樣就完成了實驗的連線部分。圖8-2舵機接線圖下載程序輸入完畢后,單擊下載程序。運行結(jié)果:若以上每一步都已完成,面包板上的LED燈在光線變暗時會被點亮,而光線變強時會熄滅。1、打開Mind+軟件,新建一個項目。2、切換到上傳模式。3、添加ArduinoUNO的支持。4、添加執(zhí)行器。編寫程序程序編寫與下載8.1.2圖形化編程8.1.3代碼學習1.對象函數(shù)通常按一個個功能來劃分的,就像一個個小的儲物柜,函數(shù)名好比儲物柜標簽名。在使用的時候,直接看標簽就可以。庫是什么呢?庫是把多個函數(shù)封裝打包起來,好比大的儲物柜,里面含有一個個小的儲物柜。同樣,大儲物柜也需要一個標簽,這標簽的學術(shù)名稱為“對象”,所以這里叫創(chuàng)建一個對象。3.程序編寫#include<DFRobot_Servo.h> //聲明調(diào)用Servo.h庫Servomyservo; //創(chuàng)建一個舵機對象intpos=0; //變量pos用來存儲舵機位置voidsetup(){myservo.attach(9);

8.1.3代碼學習//將引腳9上的舵機與聲明的舵機對象連接起來}voidloop(){for(pos=0;pos<180;pos+=1){ //舵機從0°轉(zhuǎn)到180°,每次增加1°myservo.angle(pos); //給舵機寫入角度delay(15); //延時15ms讓舵機轉(zhuǎn)到指定位置}for(pos=180;pos>=1;pos-=1){ //舵機從180°轉(zhuǎn)回0°,每次減小1°myservo.angle(pos); //寫角度到舵機delay(15); //延時15ms讓舵機轉(zhuǎn)到指定位置}}4.程序下載輸入完畢后,單擊給Arduino下載程序,上傳進度100%后,編譯界面顯示“上傳成功”,至此完成下載。運行結(jié)果:若以上每一步都已完成,舵機會從0°轉(zhuǎn)到180°再返回0°,重復執(zhí)行。8.1.3代碼學習1.圖像化編程完成一個可控舵機。2.手動編程完成可控舵機實驗。

8.2.1學習目標可控舵機018.201材料準備8.2.2 圖形化編程名稱電子元件功能描述面包板用于接線連接元器件電位器1×10kΩ電位器舵機模塊9G小舵機,在0~180°之間來回轉(zhuǎn)動02知識要點8.2.2圖形化編程所屬模塊指令功能設(shè)置舵機角度指令將一個數(shù)從一個范圍映射到另外一個范圍讀取模擬引腳指令,讀取指定引腳收到的值。得到的值為0~1023??梢再x值給變量或者作為判斷條件從實驗盒中取出一個舵機模塊,將它的信號pulse端接在實驗板數(shù)字9口上,VCC(+)端接實驗板+5V電源,GND(-)端接實驗板地線。電位器兩個引腳的一邊分別接5V與GND,而另一邊只有單獨一個引腳的接模擬口0,用于做輸入信號,如圖8-6所示,這樣就完成了實驗的連線部分。03硬件連線8.2.2圖形化編程圖8-6聲控燈接線圖8.2.2圖形化編程(2.)程序下載(1.)程序編寫打開Mind+軟件,新建一個項目。切換到上傳模式。添加ArduinoUNO的支持。將左側(cè)指令區(qū)拖曳到腳本區(qū),完成可調(diào)舵機程序輸入完畢后,單擊給Arduino下載程序。運行結(jié)果:若以上每一步都已完成,當旋轉(zhuǎn)電位器角度,舵機會隨著電位器轉(zhuǎn)動而發(fā)生轉(zhuǎn)動。8.2.3 代碼學習8.2.3 代碼學習2.程序編寫intval=0;//設(shè)置模擬引腳A0讀取模塊的電壓值#defineLEDPIN2//設(shè)置LED燈為數(shù)字引腳2#defineMIC_MAX100//聲音閾值voidsetup(){2.程序編寫#include<Servo.h> //引入libServomyservo; //創(chuàng)建一個伺服電動機對象#definepotpinA5 //設(shè)定連接可變電阻的模擬引腳intval; //創(chuàng)建變量,儲存從模擬端口讀取的值(0到1023)voidsetup(){#include<Servo.h> //引入libServomyservo; //創(chuàng)建一個伺服電動機對象#definepotpinA5 //設(shè)定連接可變電阻的模擬引腳intval; //創(chuàng)建變量,儲存從模擬端口讀取的值(0到1023)voidsetup(){myservo.attach(9); //9號引腳輸出電動機控制信號,僅能使用9、10號引腳}voidloop(){val=analogRead(potpin);//讀取來自可變電阻的模擬值(0到1023之間)val=map(val,0,1023,0,179);//利用“map”函數(shù)縮放該值,得到伺服電動機需要的角度(0到180之間)myservo.write(val); //設(shè)定伺服電動機的位置delay(

溫馨提示

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

評論

0/150

提交評論