当前位置:   article > 正文

基于STM32F103C8T6最小系统板的两轮平衡小车的创作(五、实现部分)_stm32f103c8t6平衡车实现算法

stm32f103c8t6平衡车实现算法

 

 这个PCB是个四层板,嘉立创白嫖,设计的有点不合理,那个电源插座放左右最好

蓝牙对应代码

  1. /****** 蓝牙遥控 *******/
  2. u8 car;
  3. void BT04_Control(void)
  4. {
  5. car = 0;
  6. if(Res == 'E') car = 0;
  7. if(Res == 'A') car = 1;
  8. if(Res == 'B') car = 2;
  9. if(Res == 'C') car = 3;
  10. if(Res == 'D') car = 4;
  11. }
  1. /**************** 蓝牙遥控 *************************************/
  2. /*前后*/
  3. if((car!=1)&&(car!=2)&&(car==0))Target_Speed=0;//未接受到前进后退指令-->速度清零,稳在原地
  4. if(car==1)Target_Speed++;//前进1标志位拉高-->需要前进
  5. if(car==2)Target_Speed--;//
  6. Target_Speed = Target_Speed>SPEED_Y?SPEED_Y : (Target_Speed<-SPEED_Y?(-SPEED_Y):Target_Speed);//限幅
  7. /*左右*/
  8. if((car!=3)&&(car!=4)&&(car==0))Turn_Speed=0;
  9. if(car==3)Turn_Speed += -10; //左转
  10. if(car==4)Turn_Speed += 10; //右转
  11. Turn_Speed=Turn_Speed>SPEED_Z?SPEED_Z:(Turn_Speed<-SPEED_Z?(-SPEED_Z):Turn_Speed);//限幅( (20*100) * 100 )
  12. /*转向约束*/
  13. if((car!=3)&&(car!=4)&&(car==0))Turn_Kd=0;//若无左右转向指令,则开启转向约束
  14. else if((car==3)||(car==4))Turn_Kd=0;//若左右转向指令接收到,则去掉转向约束
  15. /*********************************************************************************************/

=====================================================================

 完整代码等我上传至码云

完整代码已上传,自行查看,本次设计完全开源,感谢CSDN大佬们的帮助

点我>>>

STM32平衡小车测试2: STM32平衡小车测试2

======================================================================

立创EDA开源>>>

STM32平衡小车 - 嘉立创EDA开源硬件平台

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/386791
推荐阅读
相关标签
  

闽ICP备14008679号