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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32智能小車超聲波跟隨的程序源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:257401 發表于 2018-7-16 09:29 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "motor.h"
  4. #include "keysacn.h"
  5. #include "IRSEARCH.h"
  6. #include "IRAvoid.h"
  7. #include "usart.h"
  8. #include "UltrasonicWave.h"
  9. #include "timer.h"
  10. #include "Server.h"



  11. char ctrl_comm1 = COMM_STOP;//控制指令
  12. char ctrl_comm1_last = COMM_STOP;//上一次的指令
  13. int Q_temp,Q_temp_last,L_temp,R_temp;

  14. // 超聲波轉頭函數
  15. int front_detection()
  16. {

  17. //        ZYSTM32_brake(0);
  18.         SetJointAngle(90);
  19.         delay_ms(100);
  20.         return UltrasonicWave_StartMeasure();
  21. }
  22. int left_detection()
  23. {

  24. //        ZYSTM32_brake(0);
  25.         SetJointAngle(175);
  26.         delay_ms(300);
  27.         return UltrasonicWave_StartMeasure();
  28. }
  29. int right_detection()
  30. {

  31. //        ZYSTM32_brake(0);
  32.         SetJointAngle(5);
  33.         delay_ms(300);
  34.         return UltrasonicWave_StartMeasure();
  35. }


  36. void BarrierProc(void)
  37. {
  38.    delay_ms(10);
  39.          Q_temp_last = Q_temp;
  40.          Q_temp = front_detection();
  41.          printf("測到的距離值為:%d\n",Q_temp);
  42.       
  43.          if( Q_temp > 45)
  44.         {
  45.                 ctrl_comm1 = COMM_STOP;//防震蕩
  46.                 return;
  47.         }
  48.       
  49.         if((Q_temp_last > Q_temp)&&(Q_temp<=15)) ctrl_comm1 = COMM_DOWN;
  50.         //if(Q_temp<=15) ctrl_comm1 = COMM_DOWN;
  51.         if(Q_temp >=30) ctrl_comm1 = COMM_UP;
  52. }
  53. //extern int U_temp;
  54. /*
  55. void ZYSTM32_run(int speed,int time);       //前進函數
  56. void ZYSTM32_brake(int time);               //剎車函數
  57. void ZYSTM32_Left(int speed,int time);      //左轉函數
  58. void ZYSTM32_Spin_Left(int speed,int time); //左旋轉函數
  59. void ZYSTM32_Right(int speed,int time);     //右轉函數
  60. void ZYSTM32_Spin_Right(int speed,int time);//右旋轉函數
  61. void ZYSTM32_back(int speed,int time);      //后退函數
  62. */

  63. int main(void)
  64. {      

  65.          delay_init();
  66.          KEY_Init();
  67.          IRSearchInit();
  68.          IRAvoidInit();
  69.    Timerx_Init(5000,7199);                //10Khz的計數頻率,計數到5000為500ms
  70.          UltrasonicWave_Configuration();        //對超聲波模塊初始化
  71.          uart_init(115200);
  72.          TIM4_PWM_Init(7199,0);                 //初始化PWM
  73.          TIM5_PWM_Init(9999,143);               //不分頻,PWM頻率=72*10^6/(9999+1)/(143+1)=50Hz         
  74.          ZYSTM32_brake(500);
  75.          keysacn();               
  76.         while(1)
  77.         {         
  78.     BarrierProc();
  79.                
  80.         //        Q_temp = front_detection();
  81.         //  printf("測到的距離值為:%d\n",Q_temp);
  82.         //Q_temp_last = Q_temp;
  83.                 //Q_temp = front_detection();
  84.                         if(ctrl_comm1_last != ctrl_comm1)
  85.                         {
  86.                                 ctrl_comm1_last = ctrl_comm1;
  87.                                 switch(ctrl_comm1)
  88.                                 {
  89.                                         case COMM_UP:   ZYSTM32_run(50,10);break;
  90.                                         case COMM_DOWN:  ZYSTM32_back(50,500);        break;
  91.                                         case COMM_LEFT:  ZYSTM32_Left(50,700);break;
  92.                                         case COMM_RIGHT:ZYSTM32_Right(50,700);break;
  93.                                         case COMM_STOP:  ZYSTM32_brake(500);break;
  94.                                         default : break;
  95.                                 }
  96.                         }
  97.                
  98.                
  99.                 }
  100. }


復制代碼

全部資料51hei下載地址:
ZYSTM32-A0 智能小車超聲波避障實驗(有舵機).rar (311.8 KB, 下載次數: 89)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

板凳
ID:434764 發表于 2018-12-24 20:02 | 只看該作者
參考學習下
回復

使用道具 舉報

沙發
ID:370913 發表于 2018-12-9 20:58 | 只看該作者
新手求教 1.u_temp = UltrasonicWave_Distance*10;u_temp難道不是距離嗎?為什么不是直接賦值UltrasonicWave_Distance,還有乘以10
2.         Q_temp_last = Q_temp;
         Q_temp = front_detection();沒明白
3.為啥同樣是轉頭SetJointAngle()里的值還不一樣
4。SetJointAngle();這個函數沒看懂
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精品一区 | 国产精品亚洲成在人线 | 亚洲欧美久久 | 夫妻午夜影院 | 亚洲国产成人av好男人在线观看 | 国产二区av | 成人做爰www免费看视频网站 | 亚洲 一区 | 久久免费精品视频 | 国产一级免费在线观看 | 日韩国产欧美 | 成人a视频在线观看 | 国产精品一二三区 | 国产精品视频导航 | av网站免费 | 玖玖综合在线 | 日日干夜夜草 | 久久精品毛片 | 日韩有码一区 | 日韩一级 | 伊人热久久 | 亚洲欧洲一区二区 | 国产精品综合色区在线观看 | 日本人和亚洲人zjzjhd | 精品国产乱码久久久久久影片 | 午夜电影合集 | 一区二区三区不卡视频 | 国产中文视频 | 性国产xxxx乳高跟 | 日韩在线看片 | 欧美精品欧美精品系列 | 精品成人在线 | 免费看黄视频网站 | 午夜精品一区二区三区在线观看 | 欧美在线视频一区二区 | 新91| 亚洲美女网站 | 国产在线视频一区二区董小宛性色 | 国久久| 亚洲三级在线 | 99re在线视频观看 |