欢迎光临散文网 会员登陆 & 注册

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

2023-03-16 00:23 作者:宇宙很大脑洞很圆  | 我要投稿

视频教程: 【Arduino超声波传感器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 


电路图

图三: 电路图


接线细节

图四: 接线细节


代码

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)      点击工具>>打开串口监视器

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

愿如风有信,所学有成~

















Arduino超声波传感器教程 (Ultrasonic Sensor)的评论 (共 条)

分享到微博请遵守国家法律