Arduino 第7课 超声波传感器
2023-03-13 11:14:09 0 举报
青少年学编程-物联网基础课程
作者其他创作
大纲/内容
教学目标
学生能够使用Arduino和超声波传感器来测量距离并将结果显示在串口监视器上。
教学材料
Arduino UNO开发板
超声波传感器
杜邦线若干
步骤
1.物理线路连接
超声波传感器有四个引脚,分别是:GND,Echo,Trig,VCC。
- 将超声波传感器的GND引脚连接到Arduino UNO开发板的GND引脚。
- 将超声波传感器的VCC引脚连接到Arduino UNO开发板的5V引脚。
- 将超声波传感器的Trig引脚连接到Arduino UNO开发板的数字引脚9。
- 将超声波传感器的Echo引脚连接到Arduino UNO开发板的数字引脚10。
- 将超声波传感器的GND引脚连接到Arduino UNO开发板的GND引脚。
- 将超声波传感器的VCC引脚连接到Arduino UNO开发板的5V引脚。
- 将超声波传感器的Trig引脚连接到Arduino UNO开发板的数字引脚9。
- 将超声波传感器的Echo引脚连接到Arduino UNO开发板的数字引脚10。
程序代码:以下是Arduino代码的示例。代码实现了每500毫秒测量一次超声波传感器的距离,并将距离值打印到串行监视器中。
const int trigPin = 9;
const int echoPin = 10;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
const int echoPin = 10;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
注意事项:
- 在连接电路之前确保Arduino UNO开发板已断电。
- 在上传代码之前确保Arduino UNO开发板已连接电脑。
- 进行距离测量时,确保超声波传感器与测量目标之间没有障碍物。
- 注意超声波传感器的触发引脚和回响引脚的连接,接反会导致测量结果错误。
- 小心处理电路,确保杜邦线正确插入面包板和传感器引脚。
- 在上传代码之前确保Arduino UNO开发板已连接电脑。
- 进行距离测量时,确保超声波传感器与测量目标之间没有障碍物。
- 注意超声波传感器的触发引脚和回响引脚的连接,接反会导致测量结果错误。
- 小心处理电路,确保杜邦线正确插入面包板和传感器引脚。
注意物理连接中的引脚和代码中的对应。
透过现象看本质:
为什么能输出距离?
原理是什么?
超声波传感器利用声波的反射原理测量距离。它会发出一定频率的声波脉冲,当声波遇到物体时会被反射回传感器,传感器会接收到反射回来的声波,并通过测量声波的时间差来计算出物体与传感器之间的距离。
超声波传感器的测量距离原理可以简单地描述为:
1. 发送声波脉冲:传感器发出一定频率的声波脉冲。
2. 接收反射声波:当声波脉冲遇到物体时,会被反射回传感器。
3. 计算时间差:传感器接收到反射回来的声波脉冲,通过计算声波发射和接收的时间差,可以计算出物体与传感器之间的距离。
具体来说,超声波传感器的测量过程如下:
1. 将Trig引脚设置为高电平,持续10us,触发传感器发送8个周期的40KHz的声波脉冲。
2. 当声波脉冲遇到物体时,会被反射回来,传感器将Echo引脚输出的电平置高。
3. Arduino通过计算Echo引脚输出的高电平时间来计算声波的往返时间,并通过声速计算出物体与传感器之间的距离。
声波的传播速度受到温度、湿度等环境因素的影响,因此在使用超声波传感器测量距离时,需要对声速进行校正。同时,传感器的最大探测距离也受到环境因素的影响,通常为几米到十几米不等。
想一想
可以用来做什么?
1. 距离测量:用于测量车辆、机器人、无人机等物体的距离,也可以用于建筑测量、地质勘探等领域。
2. 障碍物检测:可以用于机器人、车辆等自动驾驶系统的避障功能,或者在仓库等环境中检测货物的位置。
3. 物体检测:可以用于检测流水线上的产品或者在工业生产过程中的物体检测。
4. 流量计量:可以用于测量水流、液体、气体等物质的流量,广泛应用于化工、冶金、石油等领域。
5. 液位检测:可以用于监测水库、池塘、河流等的液位,也可以用于工业设备中的液位检测。
6. 声呐探测:可以用于水下探测、海洋勘探等领域,例如鱼群探测、潜水器探测等。
还有哪些特点:
高精度、高灵敏度、响应速度快、无需接触被测物体
孩子们想用超声波传感器做个什么产品出来呢?
0 条评论
下一页