arduino超声波测距接线图详细_Arduino教程:认识超声波传感器(简明版)

06:25

超声波传感器是一个输入模块,提供了非常好的非接触范围检测,性能稳定,易于使用,盲区小,准确度高,测距距离从2厘米到400厘米不等,关键是还很便宜,在创客圈应用最为广泛,包括:机器人测距避障,液位检测等。

一、课前准备

学习本节课请你准备:

1、集成了扩展板的ArduinoUNO主板1块;

2、超声波传感器1个;

3、杜邦线4根;

4、USB方口数据线1根;

5、软件:Mixly(米思齐,V0.998)。

课前准备

二、超声波传感器接线方式

把超声波传感器连接到 扩展板 数字IO口的2、3号管脚

1、GND(地)黑色 接扩展板 黑色 G(2号)

2、VCC(电源) 红色接 扩展板 红色 V(2号)

3、Trig(控制端) 灰色接 扩展板 白色 S(2号)

4、Echo(接收端) 白色接 扩展板 白色 S(3号)

注意:正负极不能反接,否则会烧坏传感器或主板及扩展板。

三、获取超声波传感器的返回值(测距距离值)

打开Mixly(米思齐,V0.998),使用“串口”→“打印(自动换行)”,“传感器”→“超声波测距”,请注意“Trige”和“Echo”的管脚要和你的超声波与扩展板实际连接的管脚一致,如下图所示:

Mixly程序界面

建议你阅读上图右侧的代码,尝试分析它们的作用,至少要通过搜索知道这些代码当中部分命令的含义,逐步掌握Arduino语法以及关键命令。

四、超声波传感器测距原理

超声波传感器的发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据计时器记录的时间t,声波在空气中的传播速度为340m/s,就可以计算出发射点距障碍物的距离s,即:s=340m/s× t / 2 。这就是所谓的时间差测距法。

超声波测距原理

本节课到此结束,你收获了什么呢?欢迎你在评论区留言。

如果需要更多相关课程,请点击关注按钮关注我,谢谢。

Arduino与HC-SR04超声波传感器连接的基本步骤如下: 1. **硬件连接**: - 将HC-SR04传感器的Trig引脚(通常标有“ trig”或“ OUT”)连接到Arduino Uno的数字 pin 9或者数字 pin 10,这两个引脚用于发射超声波脉冲。 - 将Sensor的Echo引脚(标记为“ echo”或“ IN”)连接到Arduino的一个数字 pin 8或者数字 pin 11,这个引脚用于接收回波信号。 - 如果你的HC-SR04有一个电源引脚(VCC),可以将其接到Arduino的5V电压引脚,如果没有则直接从Arduino板上获取电源。 - HC-SR04一般不需要接地线,但如果你的项目中需要的话,可以从Arduino GND引脚获得。 2. **软件配置**: - 打开Arduino IDE,新建或打开一个新的 sketch(程序)。 - 导入`<Adafruit_Sensor>`库或`<SoftwareSerial.h>`库,因为HC-SR04使用的是串行通信。 - 使用`#include <SoftwareSerial.h>`引入库,然后创建一个实例,例如`SoftwareSerial ultrasonic(9, 10)`,这里假设你在pin 9发送脉冲,在pin 10接收回波。 ```cpp SoftwareSerial ultrasonic(9, 10); // 物理连接对应的引脚 ``` - 编写代码来初始化超声波模块,设置波特率,并监听 Echo 引脚的输入。 ```cpp void setup() { Serial.begin(9600); ultrasonic.begin(400000); // 设置超声波通信波特率为400Kbps } ``` - 在 `loop()` 函数中读取并处理超声波的距离测量数据。 ```cpp void loop() { float distance = getDistance(); Serial.println(distance); delay(100); // 每隔一定时间读取一次,避免频繁操作 } float getDistance() { long duration; // 发射超声波脉冲 ultrasonic.write(0); delayMicroseconds(2); // 接收反射回的脉冲 while (ultrasonic.read() == LOW) {} duration = pulseIn(ultrasonic, HIGH); // 计算距离(公式:d = (time/2) * speedOfSound) float speedOfSound = 343; // 空气中的声速,单位为mm/s return (duration / 2) * speedOfSound / 1000; // 结果转换为米 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值