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

標題: 自制的藍牙避障小車程序 [打印本頁]

作者: 千江水    時間: 2020-8-14 16:17
標題: 自制的藍牙避障小車程序
代碼測試
  1. #include<reg51.h>
  2. #define uInt unsigned int
  3. #define A judgefollow=1
  4. #define B judgelefta=1;judgerighta=1
  5. #define C judgerightb=1;judgeleftb=1
  6. sbit switchfollow = P1^7;        //人體紅外感應開關
  7. sbit switchredlight = P3^0;        //紅外對管開關
  8. sbit switchfeellight = P3^1;        //光敏電阻開關
  9. sbit judgefollow = P1^6;         //人體紅外感應
  10. sbit judgelefta = P1^4;              //左邊紅外對管
  11. sbit judgeleftb = P1^5;              //左邊光敏電阻
  12. sbit judgerighta = P3^6;      //右邊紅外對管
  13. sbit judgerightb = P3^7;      //右邊光敏電阻
  14. sbit in1 = P1^0;
  15. sbit in2 = P1^1;
  16. sbit in3 = P1^2;
  17. sbit in4 = P1^3;
  18. void DelayMS(uInt ValMS)
  19. {
  20.         uInt uiVal,ujVal;
  21.         for(uiVal=0;uiVal<ValMS;uiVal++)
  22.         for(ujVal=0;ujVal<113;ujVal++);
  23. }                           //延時函數
  24. void advance()           //前進
  25. {
  26.         in1 = 1;
  27.         in2 = 0;
  28.         in3 = 1;
  29.         in4 = 0;        
  30. }
  31. void back()                     //后退
  32. {
  33.         in1 = 0;
  34.         in2 = 1;
  35.         in3 = 0;
  36.         in4 = 1;
  37. }
  38. void right()                //右轉
  39. {
  40.         in1 = 1;
  41.         in2 = 0;        //左輪向前
  42.         in3 = 0;        //右輪向后
  43.         in4 = 1;
  44. }
  45. void left()                                //左轉
  46. {
  47.         in1 = 0;
  48.         in2 = 1;         //左輪向后
  49.         in3 = 1;         //右輪向前
  50.         in4 = 0;
  51. }
  52. void follow()
  53. {
  54.              //開始將所有感應接口都變為0   
  55.         if(judgefollow==0)    //再次確認感應
  56.         {   
  57.                 left();               
  58.                 DelayMS(1000);        //左轉尋找感應
  59.                 if(judgefollow==1)   //發現感應
  60.                 {
  61.                         advance();           //前進
  62.                 }
  63.                 else                        //左轉未發現感應
  64.                 {
  65.                         right();             // 右轉
  66.                         if(judgefollow==1)     //發現感應
  67.                         advance();                 //前進,跟隨目標
  68.                 }               
  69.         }        
  70. }
  71. void main()
  72. {
  73.           P1 = 0x00;
  74.             P3 = 0x00;        
  75.             if(switchfollow==1){A;}         //控制人體感應開關
  76.             if(switchredlight==1){B;}         //控制紅外開關
  77.             if(switchfeellight==1){C;}   //控制光敏開關               
  78.             if(judgelefta==1&&judgeleftb==1&&judgerighta==1&&judgerightb==1&&judgefollow==1)  
  79.             {
  80.                             advance();
  81.             }                                                   //未發現感應,保持前進
  82.             else if(judgefollow==0)                   //感應到前方有人
  83.             {
  84.                             follow();                           //         跟隨
  85.             }
  86.             else if(judgelefta==0||judgeleftb==0)
  87.             {
  88.                             back();
  89.                         DelayMS(1000);
  90.                         left();
  91.                         DelayMS(1000);
  92.                         advance();               
  93.             }                                           //        小車感應到右邊有物體,進行左轉
  94.              else if(judgerighta==0||judgerightb==0)
  95.             {
  96.                             back();
  97.                         DelayMS(1000);
  98.                         right();
  99.                         DelayMS(1000);
  100.                         advance();                //同上,但這次是右邊
  101.             }
  102.              else if(judgerightb==0&&judgeleftb==0)           //小車進入黑暗中,開始后退
  103.             {
  104.                             back();
  105.                       if(judgeleftb==1)                         //發現左邊有光
  106.                         {
  107.                                 left();                         //左轉前進
  108.                                 DelayMS(1000);
  109.                                 advance();        
  110.                         }
  111.                          if(judgerightb==1)                         //發現右邊有光
  112.                         {
  113.                                 right();                         //右轉前進
  114.                                 DelayMS(1000);
  115.                                 advance();        
  116.                         }
  117.             }
  118.             else if(judgerighta==0&&judgelefta==0)  //正前方發現障礙                              
  119.             {
  120.                             back();                                    //后退
  121.                         DelayMS(1000);
  122.                         left();                                    //左轉
  123.                         DelayMS(1000);
  124.                         advance();                                   //前進
  125.             }
  126. }
復制代碼


避障小車.zip

78.38 KB, 下載次數: 9, 下載積分: 黑幣 -5






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一本色道久久综合亚洲精品高清 | 久久视频免费观看 | www.色53色.com | 国产99视频精品免费视频7 | 日韩高清中文字幕 | 日本在线一区二区 | 日本手机在线 | 99久久影院 | 国产精品美女久久久久久免费 | 久久久国产一区二区三区 | 国产乱码精品一区二区三区中文 | 精品日本中文字幕 | 欧美精品第一区 | 国产精品福利网站 | 99福利视频 | 久久精品视频网站 | 亚洲欧洲精品在线 | 亚洲第一成人影院 | 成人av电影天堂 | 久久精品一区二区三区四区 | 日韩国产一区二区三区 | 视频羞羞 | 国产成人精品午夜视频免费 | 成人久久| 日韩国产在线观看 | 一区二区高清 | 日韩欧美电影在线 | 欧美一区二区三区免费在线观看 | 超碰最新在线 | 国产综合久久 | 美日韩视频 | 中文字幕一级 | 亚洲激情视频在线 | jlzzjlzz国产精品久久 | 欧美理论在线观看 | 国产精品久久国产精品 | 春色av| 欧美一级在线观看 | 在线观看成年视频 | 亚洲电影第1页 | 欧美三区在线观看 |