HC-SR04 超声波传感器使用教程
创作时间:
作者:
@小白创作中心
HC-SR04 超声波传感器使用教程
引用
1
来源
1.
https://www.spotpear.cn/index.php/index/study/detail/id/624.html
Arduino连接超声波传感器测距
超声波传感器适用于对大幅的平面进行静止测距。普通的超声波传感器测距范围大概是2cm-450cm,分辨率3mm(测试环境没那么好,个人实测比较稳定的距离10cm-2m左右,超过此距离就经常有偶然不准确的情况发生了,当然不排除技术问题。)
测试对象是SRF-04超声波传感器,有四个脚:5v电源脚(Vcc),触发控制端(Trig),接收端(Echo),地端(GND)
模块使用方法:
使用本模块,占用单片机的两个IO口,一个IO口做为触发端。一个IO口做为回波PWM信号捕捉引脚。写程序时,先在TXD引脚端为8个40K周期电平,程序处理变换成一个PWM的信号从RXD引脚输出,一旦检测到有回波信号则输出回响信号,供我们方便使用。我们使用时,只需读出的低电平时间(T)。回响信号是一个脉冲的宽度成正比的距离对象。可通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式: uS/58=厘米或者uS/148=英寸。也可以通过声波在空气中传播公式L=340T/2。就可以求出L(测量的距离)。如果没有检测到回响信号,模块回响信号脚将输出约140uS的电平,以防止发射信号对回响信号的影响。
模块工作原理:
采用IO触发测距,给至少10us的高电平信号;
模块自动发送8个40HKz的方波,自动检测是否有信号返回;
有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*声速(340m/s))/2
电路连接方法:
Arduino程序例子:
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup() {
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop() {
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm = (int(cm * 100.0)) / 100.0; //保留两位小数
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}
热门推荐
16岁以下禁止使用社交媒体!澳大利亚通过全球最严法案:保护青少年心理健康
C语言控制台光标隐藏方法详解
告别复杂:看机器学习如何简化交易预测与风险管理流程
忽必烈是谁?他附会汉法的改革内容是什么?改革有何成果?
4类网线速度:详细解析及应用场景
广东潮汕旅游攻略:十大必打卡景点及5天4晚行程规划
撞车隔天报警有用吗?保险公司如何处理?
羽毛球拉吊突击打法的练习
吃完饭后心脏隐隐作痛?可能是这些原因
诸葛亮首次北伐时,失去了11位大将,仅看名单就知道他败得有多惨
孕期超声检查的那些事
“万人空巷”的典故与正确含义
营养丰富的紫甘蓝沙拉(以蔬菜沙拉为主题)
腌的糖蒜变绿怎么办?让糖蒜保持理想色泽的实用指南
催收人员上门催收合法吗
让“方便处”更方便,把“将就事”变“顺心事”
正音书院:留住闽南方言里的乡愁
全新研究报告《重访改造旧宅》揭示未来改造项目的关键经验
旧改项目业态规划怎么做
新手必看!狗狗驱虫药的正确服用方法
网商贷逾期怎么办?详解最长可分多少期、罚息计算及协商失败后果
网商贷逾期还款协商技巧
如何安全有效地进行设备恢复出厂设置及注意事项总结
探秘阿根廷:从梅西的荣光到国家的沉浮
湿气来袭,皮肤告急!揭秘如何击退“湿气”保卫肌肤健康?
《自然》子刊最新研究揭秘尿液黄色之谜
喝水少为啥尿液会变黄?
网络热词“gs”背后的多样含义,你知道吗?
通过“A股平均股价”和大家聊聊A股市场的风险与机会!
美联储降息如何影响港股?