2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  機(jī)器人課程設(shè)計(jì)</b></p><p><b>  目錄</b></p><p><b>  第一章 緒言1</b></p><p>  1.1、目的和意義1</p><p>  1.2、設(shè)計(jì)內(nèi)容2</p><p>

2、  1.2.1、機(jī)器人硬件2</p><p>  1.2.2、設(shè)計(jì)任務(wù)2</p><p>  1.3、運(yùn)行框圖3</p><p>  第二章 機(jī)器人觸覺導(dǎo)航3</p><p>  2.1、安裝并測(cè)試機(jī)器人胡須4</p><p>  2.2、測(cè)試觸須傳感器6</p><p>  2.3

3、、C語言程序如下6</p><p>  第三章 機(jī)器人紅外導(dǎo)航10</p><p>  3.1、使用紅外線發(fā)射和接收器件探測(cè)道路10</p><p>  3.2、搭建并測(cè)試IR發(fā)射和探測(cè)器11</p><p>  3.3、測(cè)試紅外發(fā)射探測(cè)器11</p><p>  3.4、探測(cè)和避開障礙物12</

4、p><p>  第四章 心得體會(huì)15</p><p><b>  第一章 緒言</b></p><p><b>  1.1、目的和意義</b></p><p>  機(jī)器人涉及機(jī)械、電子、傳感、控制等多個(gè)領(lǐng)域和學(xué)科。本課程設(shè)計(jì)是在《機(jī)器人學(xué)》課程的基礎(chǔ)上,利用多傳感技術(shù)、控制技術(shù)實(shí)現(xiàn)機(jī)器人控制系統(tǒng)的

5、綜合與應(yīng)用,達(dá)到鍛煉學(xué)生綜合設(shè)計(jì)能力的目的。</p><p><b>  1.2、設(shè)計(jì)內(nèi)容</b></p><p>  1.2.1、機(jī)器人硬件</p><p>  本課程設(shè)計(jì)使用實(shí)驗(yàn)室已有的移動(dòng)機(jī)器人。機(jī)器人有兩個(gè)驅(qū)動(dòng)輪、一個(gè)從動(dòng)輪,驅(qū)動(dòng)輪由舵機(jī)直接驅(qū)動(dòng)。機(jī)器人控制器為89S52單片機(jī)。</p><p>  圖1 機(jī)器人

6、結(jié)構(gòu)簡(jiǎn)圖</p><p>  1.2.2、設(shè)計(jì)任務(wù)</p><p>  利用多傳感器技術(shù),實(shí)現(xiàn)對(duì)機(jī)器人的軌跡規(guī)劃及控制。具體為:控制機(jī)器人在規(guī)定的場(chǎng)地內(nèi)避開障礙物走遍整個(gè)場(chǎng)地。</p><p>  場(chǎng)地長(zhǎng)1.8m,寬1.5m,場(chǎng)地四周為高0.3m的擋板。場(chǎng)地如圖2所示。</p><p><b>  1.3、運(yùn)行框圖</b>

7、;</p><p>  第二章 機(jī)器人觸覺導(dǎo)航</p><p>  本章你將通過給你的機(jī)器人增加觸覺傳感器學(xué)習(xí)如何使用這些端口來獲取外界信息。實(shí) 際上,對(duì)于任何一個(gè)自動(dòng)化系統(tǒng)(不僅僅是機(jī)器人),無非都是通過傳感器獲取外界信息,通過接口進(jìn)入計(jì)算機(jī)(或者單片機(jī)),由計(jì)算機(jī)或單片機(jī)根據(jù)反饋信息進(jìn)行計(jì)算和決策,生成控制命令,然后通過輸出接口去控制系統(tǒng)相應(yīng)的執(zhí)行機(jī)構(gòu),完成系統(tǒng)所要完成的任務(wù)。因此,學(xué)

8、習(xí)如何使用單片機(jī)的輸入接口同學(xué)習(xí)使用輸出接口同等重要。 </p><p>  許多自動(dòng)化機(jī)械都依賴于各種觸覺型開關(guān),例如當(dāng)機(jī)器人碰到障礙物時(shí),接觸開關(guān)就會(huì)察覺,通過編程讓機(jī)器人躲開障礙物;旅客登機(jī)橋在靠近飛機(jī)時(shí)為了保護(hù)昂貴的飛機(jī),在登 機(jī)橋接口安裝觸須,當(dāng)?shù)菣C(jī)橋離飛機(jī)很近后觸須就會(huì)碰到飛機(jī),立即通知控制器提醒離飛機(jī)已經(jīng)很近了,需要降低靠近速度;工廠利用觸覺開關(guān)來計(jì)量生產(chǎn)線上的工件數(shù)量;在工業(yè)加工過程中,也被用來

9、排列物體。在所有這些實(shí)例中,觸覺開關(guān)提供的輸入通過計(jì)算機(jī)或者單片機(jī)處理后生成其它形式的程序化的輸出。 </p><p>  本章中,你將在機(jī)器人前端安裝并測(cè)試一個(gè)稱為胡須的觸覺開關(guān)。你將對(duì)機(jī)器人大腦編程來監(jiān)視觸覺開關(guān)的狀態(tài),以及決定當(dāng)它遇到障礙物時(shí)如何動(dòng)作。最終的結(jié)果就是通過觸覺給機(jī)器人自動(dòng)導(dǎo)航。</p><p>  2.1、安裝并測(cè)試機(jī)器人胡須</p><p>

10、  編程讓機(jī)器人通過觸覺胡須導(dǎo)航之前,首先必須安裝并測(cè)試胡須。圖3所示是安裝機(jī)器人觸覺胡須所需的硬件元件清單,包括: </p><p>  1. 金屬絲2根 </p><p>  2. 平頭M3×22盤頭螺釘2個(gè) </p><p>  3. 13mm圓形立柱2個(gè) </p><p>  4. M3尼龍墊圈2個(gè) </p&g

11、t;<p>  5. 3-pin公-公接頭2個(gè) </p><p>  6. 220Ω電阻2個(gè) </p><p>  7. 10kΩ電阻2個(gè) </p><p><b>  圖3 胡須硬件</b></p><p><b>  安裝胡須 </b></p><p&

12、gt;  1.拆掉連接主板到前支架的兩顆螺釘</p><p>  2.參考圖4,進(jìn)行下面操作 </p><p>  3.螺釘依次穿過M3尼龍墊圈、13mm圓 形立柱 </p><p>  4.螺釘穿過主板上的圓孔之后,擰進(jìn)主板下面的支架中,但不要擰緊 </p><p>  5.把須狀金屬絲的其中一個(gè)鉤在尼龍墊圈之上,另一個(gè)鉤在尼龍墊圈之

13、下,調(diào)整它們的位置使它們橫向交 叉但又不接觸 </p><p>  6. 擰緊螺釘?shù)街Ъ苌?</p><p>  7.參考接線圖5,搭建胡須電路。 </p><p>  注意:右邊胡須狀態(tài)信息輸入是通過P1口的第4腳完成,而左邊胡須狀態(tài)信息輸入是通過P2口的第3腳完成 </p><p&g

14、t;  8.確定兩條胡須比較靠近,但又不接觸面包板上的3-pin頭。推薦保持3 mm的距離。 </p><p>  9.圖6所示是實(shí)際的參考接線圖。 </p><p>  10.安裝好觸覺胡須的機(jī)器人如圖7所示。 </p><p>  圖4 安裝機(jī)器人胡須 </p><p>  圖5 胡須電路示意圖</p><

15、p>  圖6教學(xué)底板上胡須接線圖 圖7 安裝好觸須的機(jī)器人</p><p>  2.2、測(cè)試觸須傳感器</p><p>  先執(zhí)行一段簡(jiǎn)單的程序,下面的程序是讓小車前行的,修改參數(shù)調(diào)舵機(jī),使舵機(jī)保持前行,然后在通過設(shè)置程序讓左須子觸碰障礙物時(shí)左轉(zhuǎn),右須子觸碰障礙物是右轉(zhuǎn),這樣進(jìn)行調(diào)試,來檢測(cè)傳感器。</p><p>

16、  死區(qū)程序很關(guān)鍵,以中斷的方式寫入,避免其一直困在墻角里出不來。</p><p>  2.3、C語言程序如下</p><p>  #include<BoeBot.h></p><p>  #include<uart.h></p><p>  int P1_4state(void)//獲取P1_4的狀態(tài),右胡須<

17、/p><p>  {return (P1&0x10)?1:0;}</p><p>  int P2_3state(void)//獲取P2_3的狀態(tài),左胡須</p><p>  {return (P2&0x08)?1:0;}</p><p>  void Forward(void)</p><p>  {

18、 P1_1=1;</p><p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_0

19、=0;</b></p><p>  delay_nms(20);}</p><p>  void siqu(void) interrupt 0</p><p>  { if(condition1)</p><p>  { commands for condition1</p><p>  If(condit

20、ion2)</p><p>  { commands for both condition2 and condition1}</p><p><b>  else</b></p><p>  { commands for conditio1 but not condition2}}</p><p><b>  

21、Else</b></p><p>  { commands for not condition1}</p><p>  void Left_Turn(void)</p><p><b>  { int i;</b></p><p>  for(i=1;i<=26;i++)</p><

22、p><b>  {P1_1=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1300);</p>

23、;<p><b>  P1_0=0;</b></p><p>  delay_nms(20);}}</p><p>  void Right_Turn(void)</p><p>  { int i;</p><p>  for(i=1;i<=26;i++)</p><p&g

24、t;<b>  {P1_1=1;</b></p><p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1700);</p>

25、<p><b>  P1_0=0;</b></p><p>  delay_nms(20);}}</p><p>  void Backward(void)</p><p>  { int i;</p><p>  for(i=1;i<=65;i++)</p><p><

26、b>  {P1_1=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1700);</p><p&

27、gt;<b>  P1_0=0;</b></p><p>  delay_nms(20);</p><p><b>  }}</b></p><p>  int main(void)</p><p>  {int i=1;</p><p><b>  int z=

28、0;</b></p><p>  uart_Init();</p><p>  printf("Program Running!\n");</p><p><b>  while(1)</b></p><p>  {if((P1_4state()==0)&&(P2_3sta

29、te()==0))</p><p><b>  {if(z==0)</b></p><p>  {Backward(); //向后</p><p>  Left_Turn();//向左</p><p>  for(i;i<100;i++) </p><p>  { P1_1=1;&l

30、t;/p><p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_0=0;</b&

31、gt;</p><p>  delay_nms(20);} </p><p>  Left_Turn();//向左</p><p><b>  z=1;}</b></p><p><b>  else</b></p><p>  {Backward(); //向后<

32、/p><p>  Right_Turn();//向右</p><p>  for(i;i<100;i++) </p><p>  { P1_1=1;</p><p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p

33、><b>  P1_0=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_0=0;</b></p><p>  delay_nms(20);} </p><p>  Right_Turn();//向右</p><p&g

34、t;<b>  z=0;}}</b></p><p>  else if(P1_4state()==0)</p><p>  {if(z==0)</p><p>  {Backward(); //向后</p><p>  Left_Turn();//向左</p><p>  for(i;i<

35、;100;i++) </p><p>  { P1_1=1;</p><p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1300

36、);</p><p><b>  P1_0=0;</b></p><p>  delay_nms(20);} </p><p>  Left_Turn();//向左</p><p><b>  z=1;}</b></p><p><b>  else</b

37、></p><p>  {Backward(); //向后</p><p>  Right_Turn();//向右</p><p>  for(i;i<100;i++) </p><p>  { P1_1=1;</p><p>  delay_nus(1700);</p><p&

38、gt;<b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_0=0;</b></p><p>  delay_nms(20);} </p>

39、<p>  Right_Turn();//向右</p><p><b>  z=0;}}</b></p><p>  else if(P2_3state()==0)</p><p>  {if(z==0)</p><p>  {Backward(); //向后</p><p>  L

40、eft_Turn();//向左</p><p>  for(i;i<100;i++) </p><p>  { P1_1=1;</p><p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1

41、;</b></p><p>  delay_nus(1300);</p><p><b>  P1_0=0;</b></p><p>  delay_nms(20);} </p><p>  Left_Turn();//向左</p><p><b>  z=1;}<

42、/b></p><p><b>  else</b></p><p>  {Backward(); //向后</p><p>  Right_Turn();//向右</p><p>  for(i;i<100;i++) </p><p>  { P1_1=1;</p>

43、;<p>  delay_nus(1700);</p><p><b>  P1_1=0;</b></p><p><b>  P1_0=1;</b></p><p>  delay_nus(1300);</p><p><b>  P1_0=0;</b><

44、/p><p>  delay_nms(20);} </p><p>  Right_Turn();//向右</p><p><b>  z=0;}}</b></p><p><b>  else </b></p><p>  Forward();//向前</p>

45、<p><b>  }</b></p><p><b>  }</b></p><p>  將上述程序下載到小車中進(jìn)行調(diào)試。</p><p>  第三章 機(jī)器人紅外導(dǎo)航</p><p>  現(xiàn)在許多遙控裝置和PDA都使用頻率低于可見光的紅外線進(jìn)行通信,而機(jī)器人則可以使用紅外線進(jìn)行導(dǎo)航

46、??梢允褂靡恍﹥r(jià)格非常便宜且應(yīng)用廣泛的部件,讓機(jī)器人的C51微控制器可以收發(fā)紅外光信號(hào),從而實(shí)現(xiàn)機(jī)器人的紅外線導(dǎo)航。 </p><p>  3.1、使用紅外線發(fā)射和接收器件探測(cè)道路 </p><p>  許多機(jī)器人使用雷達(dá)(RADAR)或者聲納(SONAR)來探測(cè)物體而不需同物體接觸。我們使用紅外光來照射機(jī)器人前進(jìn)的路線,然后確定何時(shí)有光線從被探測(cè)目標(biāo)反射回來,通過檢測(cè)反射回來的紅外光就

47、可以確定前方是否有物體。由于紅外遙控 技術(shù)的發(fā)展,現(xiàn)在紅外線發(fā)射器和接收器已經(jīng)很普及并且價(jià)格很便宜。這對(duì)于機(jī)器人愛好者而言是一個(gè)好消息。 </p><p><b>  紅外前燈 </b></p><p>  你將要在機(jī)器人上建立的紅外光探測(cè)物體系統(tǒng)在許多方面就象汽車的前燈系統(tǒng)。當(dāng)汽車 </p><p>  前燈射出的光從障礙物體反射回來時(shí),人的

48、眼睛就發(fā)現(xiàn)了障礙物體,然后大腦處理這些信息, </p><p>  并據(jù)此控制身體動(dòng)作駕駛汽車。機(jī)器人使用紅外線二極管LED作為前燈,如圖8所示。 </p><p>  圖8 用紅外光探測(cè)障礙物 圖9 本章需要用到的新部件 </p><p>  紅外線二極管發(fā)射紅外光,如果機(jī)器人前面有障礙物,紅外線從物體反射回來,相當(dāng)于機(jī)器人

49、眼睛的紅外檢測(cè)(接收)器,檢測(cè)到反射回的紅外光線,并發(fā)出信號(hào)來表明檢測(cè)到從物體反射回紅外線。機(jī)器人的大腦——單片機(jī)AT89S52基于這個(gè)傳感器的輸入控制伺服電機(jī)。 </p><p>  紅外線(IR)接收/檢測(cè)器有內(nèi)置的光濾波器,除了需要檢測(cè)的980 nm波長(zhǎng)的紅外線外, 它幾乎不允許其它光通過。紅外檢測(cè)器還有一個(gè)電子濾波器,它只允許大約38.5 kHz 的電信號(hào)通過。換句話說,檢測(cè)器只尋找每秒閃爍38,500

50、次的紅外光。這就防止了普通光源象太陽光和室內(nèi)光對(duì)IR的干涉。太陽光是直流干涉 (0Hz)源,而室內(nèi)光依賴于所在區(qū)域的主電源,閃爍頻率接近100或120 Hz。由于120 Hz在電子濾波器的38.5 kHz通帶頻率之外,它完全被IR探測(cè)器忽略。 </p><p>  3.2、搭建并測(cè)試IR發(fā)射和探測(cè)器</p><p>  本任務(wù)中,我們將搭建并測(cè)試紅外線發(fā)射和檢測(cè)器。 </p>

51、<p><b>  元件清單: </b></p><p>  (1) 兩個(gè)紅外檢測(cè)器 </p><p>  (2) 兩個(gè)IR LED </p><p>  (3) 四個(gè)470□電阻 </p><p>  (4) 兩個(gè)9013三極管 </p><p><b>  搭

52、建紅外線前燈 </b></p><p>  電路板的每個(gè)角安裝一個(gè)IR組(IR LED和檢測(cè)器)</p><p><b>  電路圖如圖10</b></p><p>  圖10 左側(cè)和右側(cè)IR組原理圖</p><p>  3.3、測(cè)試紅外發(fā)射探測(cè)器 </p><p>  用P1_

53、3發(fā)送持續(xù)1毫秒的38.5kHz的紅外光,如果紅外光被小車路徑上的物體反射回來,紅外檢測(cè)器將給微控制器發(fā)送一個(gè)信號(hào),讓它知道已經(jīng)檢測(cè)到反射回的紅外光。 </p><p>  讓每個(gè)IR LED 探測(cè)器組工作的關(guān)鍵是發(fā)送1毫秒頻率為38.5 kHz的紅外信號(hào),然后立刻將IR探測(cè)器的輸出存儲(chǔ)到一個(gè)變量中。下面是一個(gè)例子,它發(fā)送38.5 kHz信號(hào)給連接到P1_3 的IR發(fā)射器,然后用整型變量irDetectLeft

54、存儲(chǔ)連接到P1_2的IR探測(cè)器的輸出。 </p><p>  for(counter=0;counter<38;counter++) </p><p><b>  { </b></p><p><b>  P1_3=1; </b></p><p>  delay_nus(13); </

55、p><p><b>  P1_3=0; </b></p><p>  delay_nus(13); </p><p><b>  } </b></p><p>  irDetectLeft=P1_2state(); </p><p>  上述代碼給P1_3輸出的信號(hào)高電平13微秒

56、,低電平為13微秒,總周期為26微秒,即頻率 </p><p>  約為38.5kHz??偣草敵?8個(gè)周期的信號(hào),即持續(xù)時(shí)間約為1毫秒(38*26約等于1000微秒)。 </p><p>  當(dāng)沒有紅外信號(hào)返回時(shí),探測(cè)器的輸出狀態(tài)為高。當(dāng)它探測(cè)到被物體反射的38500Hz紅外信號(hào)時(shí),它的輸出為低。因紅外信號(hào)發(fā)送的持續(xù)時(shí)間為1毫秒,因此IR探測(cè)器的輸出如果處于低,其持續(xù)狀態(tài)也不會(huì)超過1毫秒

57、,因此發(fā)送完信號(hào)后必須立即將IR探測(cè)器的輸出存儲(chǔ)到變量中。這些存儲(chǔ)的值會(huì)顯示在調(diào)試終端或被機(jī)器人用來導(dǎo)航。</p><p>  輸入保存運(yùn)行程序 進(jìn)行調(diào)試</p><p>  當(dāng)你將物體移開時(shí) 是否顯示</p><p>  irdetectleft=1?</p><p>  3.4、探測(cè)和避開障礙物</p><p> 

58、 改變觸須程序使其適應(yīng)IR檢測(cè)和躲避</p><p>  3.4.1調(diào)用函數(shù)<Void IRLaunch (unsigned char IR)來進(jìn)行紅外線發(fā)射></p><p>  Void IRLaunch(unsigned char IR)</p><p>  { int counter</p><p>  If(IR=’L’

59、)</p><p>  For (counter=0.counter<38;counter++)//左邊發(fā)射</p><p>  {LeftLaunch=1 </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _no

60、p_(); _nop_(); _nop_(); _nop_(); _nop_();</p><p>  LeftLaunch=0; </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _no

61、p_(); _nop_(); </p><p><b>  } </b></p><p>  if(IR 'R') </p><p>  for(counter=0;counter<38;counter++)//右邊發(fā)射 </p><p><b>  { </b>

62、;</p><p>  RightLaunch=1; </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  R

63、ightLaunch=0; </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p><b>  } </b><

64、/p><p><b>  } </b></p><p>  修改if…else語句存儲(chǔ)IR檢測(cè)信息的變量。 </p><p>  if((irDetectLeft 0)&&(irDetectRight 0))//兩邊同時(shí)接收到紅外線 </p><p><b>  { </b>&

65、lt;/p><p>  Left_Turn(); </p><p>  Left_Turn(); </p><p><b>  } </b></p><p>  else if(irDetectLeft 0)//只有左邊接收到紅外線 </p><p>  Right_Turn(); <

66、;/p><p>  else if(irDetectRight 0)//只有右邊接收到紅外線 </p><p>  Left_Turn(); </p><p><b>  else </b></p><p>  Forward();</p><p>  3..4.2 驗(yàn)證機(jī)器人的行為和和運(yùn)行

67、程序RoamingWithIr.c時(shí)除不需要接觸是否非常像 </p><p>  例程:RoamingWithIr.c</p><p>  for(counter=0;counter<38;counter++) //發(fā)射時(shí)間比胡須長(zhǎng) </p><p>  { LeftLaunch=1; </p><p>  _nop_(); _n

68、op_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  LeftLaunch=0; </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _

69、nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p><b>  } </b></p><p>  if(IR 'R') //右邊發(fā)射 </p><p>  for

70、(counter=0;counter<38;counter++) </p><p>  { RightLaunch=1; </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _no

71、p_(); _nop_(); </p><p>  RightLaunch=0; </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p><p>  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); </p>

72、;<p><b>  } </b></p><p><b>  } </b></p><p>  void Forward(void) //向前行走子程序 </p><p>  { P1_1=1; </p><p>  delay_nus(1700); </p>

73、;<p><b>  P1_1=0; </b></p><p><b>  P1_0=1; </b></p><p>  delay_nus(1300); </p><p><b>  P1_0=0; </b></p><p>  delay_nms(20

74、); </p><p><b>  } </b></p><p>  void Left_Turn(void) //左轉(zhuǎn)子程序 </p><p>  { int i; </p><p>  for( i=1;i<=26;i++) </p><p>  { P

75、1_1=1; </p><p>  delay_nus(1300); </p><p><b>  P1_1=0; </b></p><p><b>  P1_0=1; </b></p><p>  delay_nus(1300); </p><p><b&g

76、t;  P1_0=0; </b></p><p>  delay_nms(20); </p><p><b>  } </b></p><p>  } void Right_Turn(void) //右轉(zhuǎn)子程序 </p><p>  { int i; </p><

77、;p>  for( i=1;i<=26;i++) </p><p>  { P1_1=1; </p><p>  delay_nus(1700); </p><p><b>  P1_1=0; </b></p><p><b>  P1_0=1; </b></p>

78、;<p>  delay_nus(1700); </p><p><b>  P1_0=0; </b></p><p>  delay_nms(20); </p><p><b>  } </b></p><p><b>  } </b></p&g

79、t;<p>  void Backward(void) //向后行走子程序 </p><p>  { int i; </p><p>  for( i=1;i<=65;i++) </p><p>  { P1_1=1; </p><p>  delay_nus(1300); </p&g

80、t;<p><b>  P1_1=0; </b></p><p><b>  P1_0=1; </b></p><p>  delay_nus(1700); </p><p><b>  P1_0=0; </b></p><p>  delay_nms(2

81、0); </p><p><b>  } </b></p><p><b>  } </b></p><p>  int main(void) </p><p>  { int irDetectLeft,irDetectRight; </p><p>  uart

82、_Init(); </p><p>  printf("Program Running!\n"); </p><p>  while(1) </p><p>  { IRLaunch('R'); //右邊發(fā)射 </p><p>  irDetectRight = RightIR;//右邊接收

83、 </p><p>  IRLaunch('L'); //左邊發(fā)射 </p><p>  irDetectLeft = LeftIR;//左邊接收 </p><p>  if((irDetectLeft 0)&&(irDetectRight 0))//兩邊同時(shí)接收到紅外線 </p><p>  {

84、 Backward(); </p><p>  Left_Turn(); </p><p>  Left_Turn(); </p><p><b>  } </b></p><p>  else if(irDetectLeft 0)//只有左邊接收到紅外線 </p><p>  {

85、 Backward(); </p><p>  Right_Turn(); </p><p><b>  } </b></p><p>  else if(irDetectRight 0)//只有右邊接收到紅外線 </p><p>  { Backward(); </p><p&g

86、t;  Left_Turn(); </p><p><b>  } </b></p><p><b>  else </b></p><p>  Forward(); </p><p><b>  } </b></p><p><b&g

87、t;  } </b></p><p><b>  第四章 心得體會(huì)</b></p><p>  通過這次課程設(shè)計(jì),我從中學(xué)到了很多東西,不僅是知識(shí)方面,還有動(dòng)手方面等。隨著科技的發(fā)展,機(jī)器人的應(yīng)用也越來越普遍了。所以這次課程設(shè)計(jì)不僅是一次機(jī)器人知識(shí)的普及,也是一次與機(jī)器人親密接觸的機(jī)會(huì)。</p><p>  在沒有做課程設(shè)計(jì)之前

88、,我對(duì)機(jī)器人并不很了解,慢慢的接觸之后,我明白了機(jī)器人是自動(dòng)執(zhí)行工作的機(jī)器裝置。它既可以接受人類指揮,又可以運(yùn)行預(yù)先編好的程序。在這次課程設(shè)計(jì)中我們通過軟件調(diào)試又鞏固了單片機(jī)和C語言的相關(guān)知識(shí)。我們通過硬件調(diào)試鍛煉了自己的動(dòng)手能力。在課程設(shè)計(jì)中,我們也遇到很多的困難,在老師和同學(xué)的幫助下,最后都一一解決了。</p><p>  通過這次課程設(shè)計(jì),使我的理論知識(shí)又上升到了一個(gè)新的層次,同時(shí)在設(shè)計(jì)中也加深了我對(duì)理論知

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論