当前位置: 首页 > news >正文

第16章-超声波跟随功能 基于STM32的三路超声波自动跟随小车 毕业设计 课程设计

第16章-超声波跟随功能

无PID跟随功能

在这里插入图片描述
在这里插入图片描述

//超声波跟随if(HC_SR04_Read() > 25){motorForward();//前进HAL_Delay(100);}if(HC_SR04_Read() < 20){motorBackward();//后退HAL_Delay(100);}

PID跟随功能

在这里插入图片描述
在pid.c中定义一组PID参数

tPid pidFollow;    //定距离跟随PID
	pidFollow.actual_val=0.0;pidFollow.target_val=22.50;//定距离跟随 目标距离22.5cmpidFollow.err=0.0;pidFollow.err_last=0.0;pidFollow.err_sum=0.0;pidFollow.Kp=-0.5;//定距离跟随的Kp大小通过估算PID输入输出数据,确定大概大小,然后在调试pidFollow.Ki=-0.001;//Ki小一些pidFollow.Kd=0;

在这里插入图片描述

//**********PID跟随功能***********//g_fHC_SR04_Read=HC_SR04_Read();//读取前方障碍物距离if(g_fHC_SR04_Read < 60){  //如果前60cm 有东西就启动跟随g_fFollow_PID_Out = PID_realize(&pidFollow,g_fHC_SR04_Read);//PID计算输出目标速度 这个速度,会和基础速度加减if(g_fFollow_PID_Out > 6) g_fFollow_PID_Out = 6;//对输出速度限幅if(g_fFollow_PID_Out < -6) g_fFollow_PID_Out = -6;motorPidSetSpeed(g_fFollow_PID_Out,g_fFollow_PID_Out);//速度作用与电机上}else motorPidSetSpeed(0,0);//如果前面60cm 没有东西就停止HAL_Delay(10);//读取超声波传感器不能过快

在这里插入图片描述
然后编译,烧录测试 。
下一章节 我们开始使用6050 讲解6050使用和如何和PID结合一起

http://www.lryc.cn/news/357900.html

相关文章:

  • 创新案例 | 持续增长,好孩子集团的全球化品牌矩阵战略与客户中心设计哲学
  • ResNet 原理剖析以及代码复现
  • 数据结构(十)图
  • 四数之和-力扣
  • JS 中怎么删除数组元素?有哪几种方法?
  • Git如何将pre-commit也提交到仓库
  • vmware中Ubuntu虚拟机和本地电脑Win10互相ping通
  • 比较含退格的字符串-力扣
  • NSSCTF-Web题目4
  • 7. CSS 网格布局
  • 如何配置才能连接远程服务器上的 redis server ?
  • MindSpore实践图神经网络之环境篇
  • MVS net笔记和理解
  • Linux 编译屏障之 ACCESS_ONCE()
  • Discuz!X3.4论坛网站公安备案号怎样放到网站底部?
  • LPDDR6带宽预计将翻倍增长:应对低功耗挑战与AI时代能源需求激增
  • 云原生架构内涵_3.主要架构模式
  • 宏基因组分析流程(Metagenomic workflow)202405|持续更新
  • 一千题,No.0037(组个最小数)
  • PV PVC
  • 深入理解Nginx配置文件:全面指南
  • 【传知代码】自监督高效图像去噪(论文复现)
  • linnux上安装php zip(ZipArchive)、libzip扩展
  • 油封制品中各种橡胶材料的差异
  • 梳理清楚的echarts地图下钻和标点信息组件
  • 【busybox记录】【shell指令】readlink
  • C++之vector
  • 【简单介绍下idm有那些优势】
  • MyBatis系统学习 - 使用Mybatis完成查询单条,多条数据,模糊查询,动态设置表名,获取自增主键
  • Generative Action Description Prompts for Skeleton-based Action Recognition