HC-SR04超声波模块原理与应用
创作时间:
作者:
@小白创作中心
HC-SR04超声波模块原理与应用
引用
CSDN
1.
https://blog.csdn.net/werluo/article/details/137643200
工具
- Proteus 8 仿真器
- Keil 5 编辑器
原理图
讲解
简介
HC-SR04超声波模块是一种常用的测距模块,通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差,并据此求出距离。它主要由两个压电陶瓷超声传感器和一个外围信号处理电路构成,其中一个传感器用于发出超声波信号,另一个用于接收反射回来的超声波信号。
在工作时,该模块通过IO口触发测距,发送一个40kHz的脉冲信号,此信号通过传输介质(通常为空气)传播出去。当超声波信号遇到障碍物时,会被反射回来,并被接收传感器捕获。通过计算超声波发出后到达障碍物再反射回传感器的时间差,并结合已知的超声波传播速度(通常为340m/s,但易受温度、湿度、压强等因素影响),就可以得出障碍物与传感器的距离。
HC-SR04超声波模块测距范围在2cm到400cm之间,测距精度可达3mm,工作电压为DC 5V,工作电流为15mA。因其成本低、精度高、使用简便等特点,被广泛应用于各种场景,如避障机器人、智能家居等。在避障机器人中,HC-SR04超声波模块可以用于检测障碍物与机器人的距离,实现避障控制;在智能家居中,它可以用于人体检测和距离测量,如检测人的接近并触发开门动作或用于室内的距离测量和触发自动照明等。
参数
- 工作电压:DC 5V
- 工作电流:15mA
- 工作频率:40kHz
- 最远射程:4m
- 最近射程:2cm
- 测量角度:15度
- 输入触发信号:10us的TTL脉冲
- 输出回响信号:输出TTL电平信号,与射程成正比
- 规格尺寸:452015mm
引脚
- VCC:5V
- Trig:发射信号
- Echo:接收信号
- GND:地
时序
计算
测试距离=(高电平时间*声速(340M/S))/2
注意
建议测量周期>60ms,以防止发射信号对回响信号的影响。
代码
#include <reg52.h>
#include "Delay.H"
#include "LCD1602.H"
sbit button = P1^7; // 按钮
sbit TRIG = P2^6; // 发射信号
sbit ECHO = P2^7; // 接收信号
unsigned int INT_num = 0; // 中断次数
unsigned int distance_A = 0; // 距离 整数部分
unsigned int distance_B = 0; // 距离 小数部分
void timer0Init() // 定时器0初始化
{
TMOD = 0x01; // 设置T0的工作方式为方式1、定时
TH0 = (65536 - 50000) / 256; // 设置定时器初值
TL0 = (65536 - 50000) % 256;
ET0 = 1; // 开中断
EA = 1; // 开总中断
TR0 = 0; // 关闭定时器
}
void timer0() interrupt 1
{
// 中断程序
TR0 = 0;
// 重新赋值
INT_num++;
TH0 = (65536 - 50000) / 256; // 设置定时器初值
TL0 = (65536 - 50000) % 256;
TR0 = 1;
}
main(void)
{
timer0Init();
LCD_Init(); // 初始化液晶
LCD_ShowString(1, 1, "Old_man");
LCD_ShowString(2, 1, "000.00CM");
while (1)
{
// 按钮按下
if (!button)
{
delay_ms(20);
while (!button);
TH0 = (65536 - 50000) / 256; // 设置定时器初值
TL0 = (65536 - 50000) % 256;
TRIG = 0;
TRIG = 1;
delay_10us(1);
TRIG = 0;
TRIG = 1;
while (!ECHO);
TR0 = 1;
while (ECHO);
TR0 = 0;
// 获取定时器计数值
// 整数部分
distance_A = ((50000 * INT_num + ((TH0 << 8 | TL0) - (65536 - 50000))) * 34000) / 2 / 1000000; // 除以2是因为声波需要往返,除以1000000是将微秒转换为秒
// 小数部分
distance_B = ((50000 * INT_num + ((TH0 << 8 | TL0) - (65536 - 50000))) * 34000) % (2 * 1000000) / 10000; // 保留两位
LCD_ShowNum(2, 1, distance_A, 3);
LCD_ShowString(2, 4, ".");
LCD_ShowNum(2, 5, distance_B, 2);
LCD_ShowString(2, 7, "CM");
}
}
}
实现
本项目处于学习阶段,所学所识将以笔记发布。笔记会根据相关知识的接触而随时更新!
热门推荐
牙龈出血时,应该如何应对?
牙龈出血缺什么维生素?这些蔬菜有助于改善牙龈健康
和平精英:国服VS国际服,谁更值得氪?
在AI浪潮中脱颖而出:人类独特价值与组织适应策略
中国各地油菜花观赏地全攻略:从南到北,从早春到盛夏
7月逃离高温天,来不超过30℃的青海,看五彩斑斓的夏天
本金提前还贷的最佳时间:如何合理安排降低利息成本
我国养老保险第三支柱的发展与影响分析
A股投资策略大揭秘:短期or长期?
揭秘《哪吒2》特效背后的黑科技:云渲染技术大起底!
余姚市机纺石棉企业职业健康管理调查:石棉尘浓度超标严重威胁工人健康
通胀预期升温,A股投资者如何布局?
DeepSeek概念退潮,A股迎来科技消费双轮驱动新格局
四月黄山:奇松怪石的春日盛宴
中国各地彩礼习俗大盘点:从江西到福建,各地彩礼金额大揭秘
五常糙米+电饭锅:完美煮法大揭秘!
冬季减肥神器:糙米的科学减肥法
糙米VS大米:谁是餐桌上的隐形冠军?
阳泉百团大战纪念碑及周边游攻略
生活中有哪些热胀冷缩的现象?生活中处处是科学!热胀冷缩的奇妙现象!
乌鲁木齐72个打卡点全攻略:从大巴扎到网红街区
耶稣祭司职分的历史演变揭秘
耶稣的大祭司职分:永恒的意义
求职简历中怎样巧妙体现与应聘岗位的匹配度
江苏5G可视化110:社区安全新利器
《哪吒2》引爆游戏ETF,玩家狂热参与
心学问青少年教育,社会的桥梁:青春期的社会参与与贡献
塔罗牌助你走出情感低谷
未成年人案件的审判程序和原则详解
安史之乱后唐帝国经济格局大变:北方成"废土",南方经济迅速崛起