发 帖  
【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈
[资料] f103c8t6-避障加蓝牙完整PWM控制
2019-1-14 22:57:35  250 STM32f103c8t6 PWM 蓝牙
分享
这个是我之前刚开始学习STM32时做的一个蓝牙避障小车,现在我将之前自己写的程序源码和软件一起上传,希望能够帮到需要的人。
  1. #include"usart.h"
  2. #include"pwm.h"
  3. #include"sys.h"
  4. #include"delay.h"
  5. #include"hw.h"
  6. #include"csb.h"
  7. #include"lanya.h"
  8. int main()
  9. {
  10.         int left,right,bzl,bzr,counter,i=0,j,max;
  11.         u16 distance,dis[5];
  12.         uart_init(9600);
  13.         hw_init();

  14.   delay_init();  //初始化延时函数
  15.         PWM_Init(600,0);
  16.         
  17.         while(1)
  18.                 {

  19.                
  20.           lanya();        
  21.                 bzl=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13);//避障左边传感器
  22.                 bzr=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4);

  23.                
  24.                 max=0;
  25.                 for(counter=0;counter<5;counter++)
  26.                 {                        
  27.                 dis[counter]=csb();        
  28.                 }
  29.                 for(j=0;j<5;j++)
  30.                 {
  31.                 max=max+dis[j];
  32.                 }
  33.                 distance=max/5;
  34.                
  35.                         //直行
  36.                         //左边
  37.                
  38.                         
  39.                  if(bzr==0)//左转
  40.                 {
  41.                                 
  42.                                         tiM_SetCompare3(TIM2,0);//PA2提速
  43.                                         TIM_SetCompare4(TIM2,600);//PA3为低
  44.                                        
  45.                                         TIM_SetCompare2(TIM3,600);//PA7反转
  46.                                         TIM_SetCompare1(TIM3,0);//PA6为
  47.                                                 delay_ms(20);
  48.                                 
  49.                
  50.                 }
  51.                         
  52.                 if(bzl==0)//右转
  53.                 {
  54.         
  55.                 TIM_SetCompare3(TIM2,600);//PA2反转
  56.                 TIM_SetCompare4(TIM2,1);//PA3为
  57.                                 
  58.           TIM_SetCompare2(TIM3,0);//PA7提速
  59.                 TIM_SetCompare1(TIM3,600);//PA6为低
  60.                         delay_ms(20);        
  61.          
  62.         
  63.                 }
  64.                 if(distance<200)//左转
  65.                 {
  66.                         
  67.                         
  68.                         
  69.                                        
  70.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  71.                                         TIM_SetCompare4(TIM2,600);//PA3为低
  72.                                        
  73.                                         TIM_SetCompare2(TIM3,600);//PA7反转
  74.                                         TIM_SetCompare1(TIM3,0);//PA6为
  75.                                                 delay_ms(20);
  76.                         
  77.                
  78.                 }
  79.                 if(bzl==0&&distance<200)
  80.                 {
  81.                
  82.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  83.                                         TIM_SetCompare4(TIM2,600);//PA3为低
  84.                                        
  85.                                         TIM_SetCompare2(TIM3,600);//PA7反转
  86.                                         TIM_SetCompare1(TIM3,0);//PA6为
  87.                                                 delay_ms(20);
  88.          
  89.                 }
  90.                 if(bzr==0&&distance<200)
  91.                 {
  92.                
  93.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  94.                                         TIM_SetCompare4(TIM2,600);//PA3为低
  95.                                        
  96.                                         TIM_SetCompare2(TIM3,600);//PA7反转
  97.                                         TIM_SetCompare1(TIM3,0);//PA6为
  98.                                                 delay_ms(20);
  99.          
  100.                 }
  101.                 if(bzr==0&&bzl==0)
  102.                 {
  103.                      
  104.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  105.                                         TIM_SetCompare4(TIM2,600);//PA3为低
  106.                                        
  107.                                         TIM_SetCompare2(TIM3,600);//PA7反转
  108.                                         TIM_SetCompare1(TIM3,0);//PA6为
  109.                                                 delay_ms(20);
  110.                
  111.                 }
  112.                 if(bzr==0&&bzl==0&&distance<200)
  113.                 {
  114.                              TIM_SetCompare3(TIM2,0);//PA2提速
  115.                                         TIM_SetCompare4(TIM2,600);//PA3为低
  116.                                        
  117.                                         TIM_SetCompare2(TIM3,600);//PA7反转
  118.                                         TIM_SetCompare1(TIM3,0);//PA6为
  119.                                                 delay_ms(30);
  120.                                 }
  121.                
  122.                 }
  123.                 TIM_SetCompare2(TIM3,200);//PA7
  124.                 TIM_SetCompare1(TIM3,600);//PA6为低
  125.                         //右边
  126.                 TIM_SetCompare3(TIM2,200);//PA2
  127.                 TIM_SetCompare4(TIM2,600);//PA3为低
  128.                 delay_ms(20);


  129.         
  130. }













复制代码

2

f103c8t6 - 避障加蓝牙完整PWM控制.zip

下载积分: 积分 -1 分

688.16 KB, 下载次数: 5, 下载积分: 积分 -1 分

分享淘帖 显示全部楼层
最近下载过的用户(3)
· 2019-3-9 08:51:28
好资料,谢谢分享~~~~~~~~~~~~~~

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发资料
课程
    关闭

    站长推荐 上一条 /8 下一条

    快速回复 返回顶部 返回列表