超声波测距原理
视频讲解
播放
课件
第③课:超声波测距
【课前准备】
教学内容:
1、回顾上节课知识点;
2、了解超声波模块的基本原理;
3、学习超声波模块的基本控制程序;
4、学习使用超声波模块来测量距离;
学习目的:
学会使用超声波的程序设置
物料准备:
电脑、Arduino智能套件
【内容讲解】
1、
器材简介
超声波模块:
(1)工作电压:5V
(2)有效探测距离:2Mm~2.5m
(3)感应角度范围:15°
(4)超声波传感器有四个引脚:GND、VCC、Trig、Echo。Trig为触发引脚.
(5)Echo为数据接收引脚。
超声波传感器及转接板是利用超声波的特性而研制而成的传感器。超声波接收到触发信号后,模块自动发出8个40KHZ的方波,同时开始计时并自动监测是否有信号返回,通过记录超声波从开始发送到接收回波间隔,来判断前方障碍物的距离。
超声波传感器有两个信号引脚:Trig引脚和Echo引脚。Trig引脚是触发引脚,Echo引脚是信号接收引脚。
先向Trig引脚发送时长不小于10μs的高电平,触发超声波模块;
触发后,模块会自动发射8个40KHZ的方波,并自动检测是否有信号返回;
如果有信号返回,则通过Echo引脚输出一个高电平,高电平持续的时间是超声波从发射到接收的时间。
超声波传感器测试距离= 高电平持续时间 X 340m/s ÷ 2(音速是介质中微弱压强扰动的传播速度,其大小因媒质的性质和状态而异。空气中的音速在1个标准大气压和15℃的条件下约为340m/秒)
pulseIn()函数:
pulseIn()函数是系统内建函数,用来读取一个引脚的脉冲(HIGH或LOW)。
例如:
如果函数value的值是HIGH,pulseIn()会等待引脚变为HIGH开始计时,再等待引脚变为LOW时停止计时。返回脉冲的持续时间单位为μs。
(1)pulseIn(pin,value);
(2)pulseIn(pin,value,timeout);
pin:要进行脉冲计时的引脚号
value:要读取的脉冲类型,HIGH或LOW
timeout(可选):指定脉冲计数的等待时间,单位为μs,默认值是1s。
2、项目效果概述
通过改变超声波模块前方的距离,通过串口监视器来实时显示。
【项目搭建】
电路搭设:将超声波模块连接至主板相应的接口上,如下图所示。
搭设难点:注意Trig和Echo对应的接口。
项目一:距离的测量
电路搭建:
超声波模块 | ||
Trig | 3 | |
Echo | 2 | |
GND | GND | |
VCC | VCC |
程序设计:
const int Trig = 3; //定义串口
const int Echo = 2;
int distance; //定义变量,用来表示距离
void setup() {
pinMode(Trig,OUTPUT); //设置串口模式
pinMode(Echo,INPUT);
Serial.begin(9600); //设置波特率
}
void loop() {
digitalWrite(Trig,LOW); //拉低引脚
delayMicroseconds(2);
digitalWrite(Trig,HIGH); //给Trig引脚10us高电平
delayMicroseconds(10);
digitalWrite(Trig,LOW); //再次拉低引脚
distance = pulseIn(Echo,HIGH)/58.00; //用过测定Echo引脚高电平的持续时间来计算前方距离
Serial.print(distance); //打印至串口监视器
Serial.println(“cm”);
delay(100);
}
【课后总结】
1、了解超声波模块的时序;
2、学会使用pulseIn()函数;
3、学会超声波测距的原理。
往期课件
大颗粒9656-卡车
百变工程:风力发电站
幼儿编程套装–自动道闸
9686-旋转飞椅
wedo2.0-轿车(带转弯)
青少年一二级等级考试-起重机
全国青少年等级考试四级-课1:让舵机动起来
—— 今日 ——
—– 推荐—–
主营国产产品系列
1、兼容乐高全系列产品。生活与结构、百变工程、管道游戏、趣味机械 、9686、wedo2.0、EV6。
2、中国机器人技术等级考试一二级、三四级。
3、大颗粒教具零配件,散件,PF电机系列。
渠道批发,支持一件代发
计划采购的老师请加销售微信
走过路过,点个 在看 呗
能点个赞就更好啦~