电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 基础入门 >> Arduino开发学习 >> 正文

Arduino超声波传感器教程 (Ultrasonic Sensor)

作者:佚名    文章来源:网络整理    点击数:    更新时间:2026/2/23

【Arduino超声波传感器HC-SR04】

超声波传感器HC-SR04 

超声波传感器HC-SR04 

图一:超声传感器HC-SR04


什么是超声传感器HC-SR04?

超声传感器的英文是Ultrasonic Sensor。它有如下特点:

* 利用声纳(SONAR)来测量物体的距离, 测量角度<15°。

* 准确度高、性价比高、读数稳定、且便于使用。

* 可应用于非接触范围检测, 检测范围是2厘米-400厘米(+/-3毫米偏差)。

* 虽然它的操作很少受阳光或黑色材料的影响,但是柔软的材料(如布料等)可能较难检测到。

* 传感器有四个引脚:

· VCC 接到5V电源;

· Trig 接到任何数字口;

· Echo接到任何数字口;

· GND 接到地。


测距的工作原理?

1) 传感器会朝某一方向发射40K赫兹的超声波,同时开始计时。

2) 声波会在空气中传播,一旦遇到障碍物,声波就会立刻返回。

3) 传感器一旦接收到反射波就立刻停止计时。

4) 已知声波在空气中的传播速度为340米/秒=34K厘米 / 秒= 0.034厘米/微秒。根据计时器的时间t, 我们可以计算出,从发射点到障碍物的距离为= 0.034厘米/微秒 * t超秒/2

超声波传感器的工作原理?

1) 利用 Arduino 的数字引脚给超声波传感器的 Trig 引脚至少 10 微秒的高电平信号,这会让HC-SR04 超声波测距模块发射出8个40K赫兹的超声波脉冲(ultrasonic burst)。

2) 8个超声波脉冲发出后,echo引脚会输出高电平。假如没有声波返回,echo引脚会在38微秒后输出低电平。假如有声波返回,echo引脚会进入低电平状态。

3) Echo输出高电平的时间就是超声波从发射到返回的时间。

超声波传感器工作原理  

图二: 超声波传感器工作原理


材料清单

- 超声传感器HC-SR04 x1

- 面包板 x1

- 面包线(双公头) x4 - 面包线颜色不影响结果,但有助于理解教程

- Arduino Uno 开发板 x1

- USB接线 x1

- 装有Arduino IDE/集成开发环境的电脑 x1


电路图

Arduino超声波传感器接线实验 

图三: 电路图


接线细节

 Arduino超声波传感器

图四: 接线细节


代码

 

const int trigPin = 3; // 传感器trig引脚连接到开发板模拟口3
const int echoPin = 2; // 传感器Echo引脚连接到开发板模拟口2
long duration, distance;


void setup() {
Serial.begin(9600); // 开始 Serial Terminal 串口监视器
pinMode(trigPin, OUTPUT); // 将trigPin设置为输出
pinMode(echoPin, INPUT); //将echoPin设置为输入
}


void loop() {
digitalWrite(trigPin, LOW); // 先将trigPin设置为低电平状态2微秒
delayMicroseconds(2); 


digitalWrite(trigPin, HIGH); //再将trigPin设置为高电平状态10微秒
delayMicroseconds(10);
digitalWrite(trigPin, LOW);


duration = pulseIn(echoPin, HIGH); //计算echoPin在高电平状态的时长 
distance = duration * 0.034 / 2; // 计算传感器跟物体之间的距离

Serial.print(distance); //在串口监视器打印出距离
Serial.print("cm");
Serial.println();
delay(1000);
}

如何上传代码?

a) 双击Arduino图标, 一个Sketch会跳出来

b) 点击文件(F) 新建项目, 打开一个新的Sketch

c) 复制粘贴提供的代码

d) 点击工具>>开发板>>Arduino AVR Boards>>选择Arduino Uno 开发板

e) 点击工具>>选择端口 (不一定是6, 由电脑分配)

f) 点击✓检查验证/编译代码

g) 点击→上传代码

h) 点击工具>>打开串口监视器

恭喜,又完成一个教程了。

愿如风有信,所学有成~

Tags:Arduino,超声波,传感器  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询