STM32 学习笔记4

您所在的位置:网站首页 的超声波 STM32 学习笔记4

STM32 学习笔记4

2024-01-05 22:11| 来源: 网络整理| 查看: 265

目录

什么是超声波?超声波测距原理?

硬件:

超声波传感器:

 车身结构件及其附件:

 软件:

逻辑控制策略:

代码实现:

main.c 主函数

UltrasonicWave.c 主函数:

backup:超声波测距工作原理

老规矩:Model X 特斯拉镇楼  (图文相关,Model X 鹰翼门 侧门防止磕碰,装了超声波传感器)

什么是超声波?超声波测距原理?

超声波(ultrasonic (waves) )是一种机械波,其具有指向性强、能量消耗缓慢、传播距离相对较远等特点

波长:人类耳朵能听到的声波频率为为20HZ~20KHz,超声波一般为大于20KHz23 kHz到40 kHz

超声波测距原理:超声波常用的测距方法为回声探测法,s=340t/2,其他还相位检测法、声波幅值检测法。

误差影响因素:超声波是一种声波,声速V与温度关系很大,V = 331.4 + 0.607T式中,T为实际温度单位为℃,v为超声波在介质中的传播速度单位为m/s。一般要提高精度,需要做相应的温度补偿程序。

硬件: 超声波传感器:

型号: HC-SR04

ultrasonic sensor  包括四个引脚分别是  Vcc Input(trig 控制端)  output ( echo 接收端) Gnd

 

超声波内部原理图

 车身结构件及其附件:

如底板,车轮等 ,提供支撑与安装

驱动:2*直流电机

控制模块:单片机 STM32 F10系列    超声波控制模块相关芯片

电路图:

 软件: 逻辑控制策略:

初始化→检测障碍物→检测范围内无障碍物→前进

                                →检测范围外有障碍物→后退→右(左)转→检测障碍物

比如在检测到障碍物的时候,蜂鸣器会响等。

代码实现: main.c 主函数 #include "stm32f10x.h" #include "delay.h" #include "motor.h" #include "keysacn.h" #include "IRSEARCH.h" #include "IRAvoid.h" //红外避障头文件 #include "usart.h" #include "UltrasonicWave.h" //超声波头文件 #include "timer.h" //计时器 计时头文件 int main(void) { delay_init(); //初始化 KEY_Init(); IRSearchInit(); IRAvoidInit(); Timerx_Init(5000,7199); //定时器设置用来开启定时器计时,记录Echo变为低电平的时间。 UltrasonicWave_Configuration(); //超声波模块初始化 uart_init(115200); // 串口初始化为115200 TIM4_PWM_Init(7199,0); //初始化PWM STM32_brake(500); //刹车函数0.5s keysacn(); while(1) { //printf("测到的距离值为:%d\n",UltrasonicWave_StartMeasure()); if(UltrasonicWave_StartMeasure()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3