STM32 学习笔记4 |
您所在的位置:网站首页 › 的超声波 › STM32 学习笔记4 |
目录 什么是超声波?超声波测距原理? 硬件: 超声波传感器: 车身结构件及其附件: 软件: 逻辑控制策略: 代码实现: 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 |