超声波模块HC-SRO4

本文介绍了超声波模块HC-SRO4的引脚配置和工作原理,通过51单片机实现距离测量,并将结果显示在串口助手中。详细讲解了如何利用超声波模块发送触发信号,检测回波,计算距离,并给出了相应的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)引脚和原理:
该模块有VCC、GND、Trig和Echo针脚。
TRIG是输出和ECHO是输入。
该模块的工作原理为,先向TRIG脚输入至少10us的触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则ECHO输出高电平回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式: 距离=高电平时间*声速(340M/S)/2。

2)实现功能:
通过超声波模块测距离,并将测试距离显示到串口助手上。

3)工具:
超声波模块、51单片机、定时器模块、串口

3)代码:
#include<reg52.h>
#include<stdio.h>
unsigned int time;
char buf[32]={0};
float distance;
sbit TRIG=P1^0; //超声波上引脚TRIG,接单片机引脚
sbit ECHO=P1^1;//ECHO 接单片机引脚

void delay() //延时函数
{
int i;
for(i=0;i<5000;i++);
}

void inputstr(char character ) //串口输入输出存放数据,输出一个字符

	SBUF=character;	

}
void inputstring(char *p) //串口输入输出存放数据,输出一串字符
{
while(*p!=’\0’){
inputstr(*p);

### HC-SR04 超声波传感器与 Arduino 配合使用教程 #### 连接方法 HC-SR04 是一种常用的超声波测距模块,能够测量距离并返回数据。该模块具备四个针脚:VCC、Trig(触发)、Echo(回响)以及 GND。为了使 HC-SR04 正常工作并与 Arduino 通信,需按照下表连接相应的引脚[^1]。 | HC-SR04 Pin | Arduino Uno Pin | |-------------|-----------------| | VCC | 5V | | Trig | D9 (或其他数字端口) | | Echo | D8 (或其他数字端口) | | GND | GND | #### 工作原理概述 当向 Trig 发送至少 10us 的高电平时,模块自动发送 8 个 40kHz 方波,并启动定时器等待接收信号。一旦检测到障碍物反射回来的脉冲,则通过 Echo 输出相应宽度的正脉冲给控制器。此时可以通过读取此脉冲持续时间来计算目标物体的距离[^2]。 #### 示例代码 下面是一个简单的例子程序用于展示如何利用上述理论实现基本功能: ```cpp #define TRIG_PIN 9 #define ECHO_PIN 8 void setup() { Serial.begin(9600); pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); } void loop() { long duration; int distanceCm; digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH); // 将微秒转换成厘米单位下的距离值 distanceCm = microsecondsToCentimeters(duration); Serial.print("Distance: "); Serial.println(distanceCm); delay(500); } long microsecondsToCentimeters(long microseconds){ return microseconds / 29 / 2 ; } ``` 这段代码实现了每半秒钟获取一次当前环境内最近障碍物的位置信息并通过串行监视器打印出来。注意这里假设声音传播速度为340米/秒,在空气中近似成立;实际应用中可能需要根据具体场景调整换算比例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值