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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6571|回復: 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: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();這個函數沒看懂
回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久av资源网 | 亚洲中午字幕 | 国产成人精品一区二区三区视频 | 久久久久国产一区二区三区四区 | 久久久免费少妇高潮毛片 | 成人免费视频网 | 国产黄色小视频在线观看 | 日韩成人av在线 | 欧美小视频在线观看 | 国产欧美日韩精品一区 | 日韩欧美成人一区二区三区 | 日韩在线免费 | 亚洲日韩中文字幕一区 | 国产欧美精品一区 | 久草热视频| 在线视频三区 | 日本在线一区二区 | 午夜成人在线视频 | 国产成人99久久亚洲综合精品 | 91传媒在线观看 | 视频一区在线 | 天天干视频| 精品国产乱码久久久久久1区2区 | 国产剧情一区 | 色综合天天综合网国产成人网 | 亚洲一区精品在线 | 国产精品区一区二区三区 | 日韩三级免费网站 | jav成人av免费播放 | 久久毛片网站 | 久久精品美女 | 一区二区三区中文字幕 | 国产精品999 | 日本一区二区高清视频 | a级片在线观看 | 91在线免费观看 | 亚洲精品乱码久久久久久久久 | 中文字幕视频免费 | 毛片韩国 | 久久综合香蕉 | 午夜精品一区二区三区免费视频 |