久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4995|回復: 1
打印 上一主題 下一主題
收起左側

搬運色塊 巡游景點 巡線機器人小車的設計資料下載

[復制鏈接]
跳轉到指定樓層
樓主
如題。。。。。。。。。。。!


包含以下資料:
示例程序\
2017春《計算機編程能力實訓》安排.doc
QTI巡線傳感器說明及尋線策略.docx
《計算機編程能力實訓》動員-基于教育機器人.ppt
任務書1_智能搬運機器人的設計與實現_17春.doc
任務書2-巡游機器人設計與實現_17春.doc


程序包含:
threeQTI-3個QTI傳感器的巡線程序.c
巡游-一個景點-基于數組實現.c
巡游-一個景點-非數組實現.c
搬運-E點黑色.c


部分單片機源程序預覽如下:
  1. /************************************************
  2. 程序功能:搬運1個色塊: E點,黑色
  3. 舵機連接:左輪 P1_1
  4.           右輪 P1_0
  5. QTI傳感器連接:從左至右 P2_4 P2_3 P2_2 P2_1

  6. 程序編寫調試:王淑鴻 2016-6
  7. ************************************************/

  8. #include <Boebot.h>
  9. #include <uart.h>
  10. #define uint unsigned int
  11. #define uchar unsigned char

  12. void fastforward(void);            //快速前進1步
  13. void slowforward(void);            //慢速前進1步
  14. void slowerback(void);                  // 慢速后退1步
  15. void turn_left(uint n);             //左轉
  16. void turn_right(uint n);            //右轉
  17. void zhixing(int n);                                //向前直行
  18. void daotui(int i);                        //后退
  19. void check_left(void);              //小幅向左  
  20. void check_right(void);             //小幅向右
  21. void Get_QTI_State(void);            //獲取傳感器返回值
  22. void Follow_Line(void);                //巡線
  23. void Get_E(void) ;                   //取E點物塊,取到中心線上
  24. void Put_Black(void);                         // 將中心線上的黑色色塊推到目標位置
  25. void BackToZero(void);                                 //從中心線回到起始區域


  26. uchar QTIState;

  27. uint RIGHT90=20;
  28. uint RIGHT45=10;
  29. uint RIGHT180=35;

  30. uint LEFT90=25;
  31. uint LEFT45=13;




  32. void fastforward(void)                //快速前進
  33. {
  34.         P1_0=1;
  35.         delay_nus(1350);
  36.         P1_0=0;
  37.         delay_nms(20);
  38.         P1_1=1;
  39.         delay_nus(1650);      
  40.         P1_1=0;
  41.         delay_nms(20);
  42. }

  43. void slowforward(void)          //慢速前進
  44. {        P1_0=1;
  45.         delay_nus(1450);        
  46.         P1_0=0;
  47.         delay_nms(20);
  48.         P1_1=1;
  49.         delay_nus(1550);
  50.         P1_1=0;
  51.         delay_nms(20);
  52. }

  53. void slowerback(void)                // 慢速后退
  54. {
  55.         P1_0=1;
  56.         delay_nus(1550);        
  57.         P1_0=0;
  58.         delay_nms(20);
  59.         P1_1=1;
  60.         delay_nus(1450);
  61.         P1_1=0;
  62.         delay_nms(20);
  63. }

  64. void turn_left(uint n)              //左轉
  65. {
  66.          int i;
  67.      for(i=0;i<=n;i++)
  68.        {
  69.                 P1_0=1;
  70.                 delay_nus(1450);
  71.                 P1_0=0;
  72.                 delay_nms(20);
  73.                 P1_1=1;
  74.                 delay_nus(1450);
  75.                 P1_1=0;
  76.                 delay_nms(20);
  77.            }
  78. }

  79. void turn_right(uint n)            //右轉  
  80. {
  81.          int i;
  82.      for(i=0;i<=n;i++)
  83.        {
  84.                 P1_0=1;
  85.                 delay_nus(1550);
  86.                 P1_0=0;
  87.                 delay_nms(20);
  88.                 P1_1=1;
  89.                 delay_nus(1550);
  90.                 P1_1=0;
  91.                 delay_nms(20);
  92.            }
  93. }





  94. void zhixing(int n)                          //直行
  95. {
  96.         int a;
  97.         for(a=0;a<=n;a++)
  98.         fastforward();
  99. }


  100. void daotui(int n)                        //慢速倒退
  101. {
  102.         int a;
  103.         for(a=0;a<=n;a++)
  104.         slowerback();
  105. }

  106. void check_left(void)     //小幅向左
  107. {       
  108.             P1_0=1;
  109.             delay_nus(1400);         
  110.                  P1_0=0;
  111.             delay_nms(20);
  112.                 P1_1=1;
  113.                 delay_nus(1500);
  114.                 P1_1=0;
  115.                 delay_nms(20);
  116. }

  117. void check_right(void)    //小幅向右
  118. {
  119.           P1_1=1;
  120.           delay_nus(1600);         
  121.           P1_1=0;
  122.           delay_nms(20);
  123.           P1_0=1;
  124.           delay_nus(1500);
  125.           P1_0=0;
  126.           delay_nms(20);  
  127. }



  128. void Get_QTI_State(void)                       //獲取傳感器返回值
  129.         {
  130.                 QTIState=P2&0x1e;                     //P2_4  P2_3  P2_2  P2_1
  131.                 QTIState=QTIState/2;                  //右移1位               
  132.         }



  133. void Follow_Line(void)                //巡線
  134. {
  135.                                                    

  136.                 Get_QTI_State();

  137.         switch(QTIState)                         
  138.                 {
  139.                 case 4: check_left() ;break;                        //傳感器返回值:0100
  140.                 case 2: check_right();break;                        //傳感器返回值:0010
  141.                 case 8: check_left() ;break;                        //傳感器返回值:1000
  142.                 case 12: check_left() ;break;                        //傳感器返回值:1100
  143.                 case 14: check_left() ;break;                        //傳感器返回值:1110
  144.                 case 1: check_right();break;                        //傳感器返回值:0001
  145.                 case 3: check_right();break;                        //傳感器返回值:0011
  146.                 case 7: check_right();break;                        //傳感器返回值:0111
  147.                 default: slowforward();break;
  148.                 }
  149. }


  150. void Get_E(void)                          //取E點物塊,取到中心線上
  151. {
  152.         int i;
  153.         while(QTIState!=0x0f)                 //當不是全黑時,巡線
  154.         Follow_Line();
  155.         zhixing(6);                                                          //直行一小段,調整位置
  156.         turn_right(RIGHT90);                  //右轉90度
  157.         while(QTIState!=0x00)                 //當不是全白時,巡線
  158.         Follow_Line();
  159.         zhixing(6);
  160.     turn_right(RIGHT180);
  161.         while(QTIState!=0x0f)                 //當不是全黑時,巡線
  162.         Follow_Line();
  163.         zhixing(6);
  164.         turn_left(LEFT90);                                          //左轉90度
  165.         for(i=0;i<40;i++)
  166.                 Follow_Line();
  167.     turn_right(RIGHT180);                  
  168. }

  169. void Put_Black(void)                                 // 將中心線上的黑色色塊推到目標位置
  170. {
  171.         int i;        
  172.         while(QTIState!=0x0f)                 //當不是全黑時,巡線
  173.         Follow_Line();
  174.         zhixing(6);
  175.         turn_right(RIGHT45);
  176.         while(QTIState!=0x00)                 //當不是全白時,巡線
  177.         Follow_Line();
  178.         zhixing(6);
  179.         while(QTIState!=0x0f)                 //當不是全黑時,巡線
  180.         Follow_Line();
  181.         daotui(20);
  182.         turn_right(RIGHT180);  
  183.         while(QTIState!=0x00)                 //當不是全白時,巡線
  184.         Follow_Line();
  185.         zhixing(6);
  186.         while(QTIState!=0x0f)                 //當不是全黑時,巡線
  187.     Follow_Line();
  188.         zhixing(6);
  189.         turn_left(LEFT45);
  190. ……………………

  191. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
課程設計-自通-機器人-17春.rar (1.59 MB, 下載次數: 32)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2017-6-25 02:39 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美国产一区二区三区 | 国产欧美久久精品 | 精品粉嫩aⅴ一区二区三区四区 | 狠狠的操 | 国产成人av一区二区三区 | 亚洲国产精品成人久久久 | 精品国产一区二区三区久久 | 国产精品99久久久久久久久久久久 | 国产在线精品一区二区 | 亚洲狠狠| 亚洲成av人片在线观看 | 激情欧美一区二区三区中文字幕 | 精品自拍视频在线观看 | 日本小视频网站 | 99在线免费观看 | 欧美淫片 | 国产精品久久国产精品 | 日本高清视频在线播放 | 最新日韩精品 | 国产精品亚洲一区二区三区在线观看 | 亚洲欧美中文日韩在线v日本 | 激情一区二区三区 | 男女精品网站 | 国产精品99久久久久久动医院 | 中文字幕日韩一区 | 一区在线播放 | 久久99精品视频 | 久久av网 | 亚洲毛片在线 | 亚洲成人在线免费 | 国产玖玖 | jlzzjlzz欧美大全| 欧美日韩在线观看一区 | 一区视频在线 | 免费久久精品视频 | 亚洲欧美日韩国产 | 亚洲不卡av在线 | 国产精品久久久久久久久大全 | 天天影视色综合 | 欧美久久久网站 | 天天看天天干 |