Arduino-----超声波传感器的使用学习

1.超声波测距基础:超声波频率高,波长短,方向性好,能够成为射线而定向传播等特点

我使用的超声波传感器为【US-015】,如下图:

 它有四个引脚,分别是VCC、GND以及发射引脚Trig、接收引脚Echo

两个探头,一个是发射探头,一个是接收探头。

测距原理:发射探头发射超声波,传感器开始计时,在空气中遇到障碍物就会反射回来,接收器收到返回的超声波波以后就会停止计时,根据计时器记录的时间可以计算出发射点到障碍物的距离。计算公式:S=V·t/2,其中V取340m/s,t为记录的时间

相关参数有:

工作电压:5V

工作电流:15mA

作用角度:小于15°

测量最大距离450cm         最小距离2cm(小于这个距离精度很差,可以说是盲区了)

组装好的电路大概是这样:

 以下是使用的代码及部分注释笔记:

const int TrigPin=8;//设置发射引脚为8号引脚
const int EchoPin=9;//设置接收引脚为9号引脚
float cm;//将数据设为浮点数类型,提高超声探测的精度
/*const之前没有用到过
它的作用是将定义的脚位存储在只读存储器
或者认为是UNO板的硬盘里
作用是在运行中节约UNO板的内部资源
 */
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);//开启串口通讯,设置波特率为9600
  pinMode(TrigPin,OUTPUT);//将发射引脚初始化为输出模式
  pinMode(EchoPin,INPUT);//将接收引脚初始化为输入模式,用于接收传感器的数据
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(TrigPin,LOW);//用低高低的电平发送脉冲给发射引脚
  delayMicroseconds(2);//短暂延时
  /*delayMicroseconds()也是之前没接触过
   但是作用跟Delay是相似的
   也是一个延时函数,单位是微妙
   1000微妙=1毫秒
   */
  digitalWrite(TrigPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin,LOW);
  cm=pulseIn(EchoPin,HIGH)/58.0;//读取脉冲的宽度,并将其换算成厘米
  Serial.print(cm);//距离
  Serial.print("cm");//单位
  Serial.println();//回车
  delay(1000);

}

结果:

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值