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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6545|回復: 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)
回復

使用道具 舉報

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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产黄 | 9191在线观看 | 日本韩国电影免费观看 | 在线视频一区二区三区 | 91精品国产综合久久久亚洲 | 日本成人在线免费视频 | 国产精品网址 | 国产综合一区二区 | 日韩色综合 | 麻豆久久久久久 | 天天操夜夜骑 | 亚洲精品第一 | 午夜丰满少妇一级毛片 | 国产精品视频偷伦精品视频 | 欧美亚洲国产一区 | 中文字幕 在线观看 | 奇米久久久| 亚洲一区二区三区在线视频 | 欧美free性 | 国产精品久久久久久久久久久久 | www.国产日本| 国产午夜在线 | 福利视频三区 | 在线观看中文字幕 | 成人小视频在线观看 | 亚洲日日操 | 久久专区| 成人小视频在线观看 | 老牛嫩草一区二区三区av | 亚洲精品小视频在线观看 | 久久久女女女女999久久 | 性一爱一乱一交一视频 | 国产一区二区三区 | 在线观看免费黄色片 | 日韩视频国产 | 国产精品久久国产精品99 | 国产精品久久久久久妇女6080 | 免费日韩av网站 | 日韩视频a | 亚洲视频三区 | 日本久久综合网 |