龙空技术网

arduino学习笔记15-超声波

汉上创客 201

前言:

当前姐妹们对“靠超声波发现障碍物采用的方法叫做什么”都比较关注,咱们都需要剖析一些“靠超声波发现障碍物采用的方法叫做什么”的相关内容。那么小编在网上网罗了一些关于“靠超声波发现障碍物采用的方法叫做什么””的相关内容,希望你们能喜欢,看官们快快来学习一下吧!

arduino学习笔记15-超声波

超声波的原理是先发射一束超声波并且开始计时,等到超声波碰到前方物体就会发生反射,超声波测距传感器在收到回声后会停止计时,通过这个时间结合声音的速度可以判定前方距离。要启动测距过程,Arduin板必须要在超声波测距传感器的引脚上发送一个很短的脉冲。然后使用pulseln()函数监听相同引脚上的脉冲宽度。测量到的脉冲宽度就是声音传播的时间了。

一、实验现象

通过超声波传感器将前方障碍物的距离显示在串行监视器。

二、实验器材:控制板、超声波传感器1个和杜邦线。

三、实验所用函数及语句

delayMicroseconds(2): 等待 2微妙

pulseIn(Echo, HIGH):函数用于读取引脚脉冲的时间长度,脉冲可以是HIGH或LOW。如果是HIGH,函数将先等引脚变为高电平,然后开始计时,一直到变为低电平为止。

四、实验电图

【注意】

1,要板上要先接上超声波模块再通电。或都先让GND 先连接。

五、编写代码

【注意】

1)采用IO触发测距,给至少10us的高电平信号;就是先给这个Trip 拉低电平,再给个10us的高电平信号信号。

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是:超声波从发射到返回的时间。距离公式:测试距离=(高电平时间/58)(厘米);

⑷测量周期最好60ms以上。以防止发射信号对回响信号的影响。

int Trig=2 //引脚Tring 连接端口2

int Echo=3 //引脚Echo 连接端口3

float cm; //定义距离变量

float temp; //定义时间变量

void setup() {

Serial.begin(9600); //设置波特率

pinMode(Trig, OUTPUT);

pinMode(Echo, INPUT);

}

void loop() {

//给Trig发送一个低高低的短时间脉冲,触发测距

digitalWrite(Trig, LOW); //给Trig发送一个低电平

delayMicroseconds(2); //等待 2微妙

digitalWrite(Trig,HIGH); //给Trig发送一个高电平

delayMicroseconds(10); //等待 10微妙

digitalWrite(Trig, LOW); //给Trig发送一个低电平

temp = float(pulseIn(Echo, HIGH)); //存储回波等待时间,

cm = temp /58; //把回波时间换算成cm

//返回脉冲持续的时间长短, 单位为ms。如果超时还没有读到的话, 将返回0。 pulseIn()单位为微秒,声速340m/s,所以距离cm=340*100/1000000*pulseIn()/2约等于pulseIn()/58.0

Serial.print("Echo =");

Serial.print(temp);//串口输出等待时间的原始数据

Serial.print(" | | cm = ");

Serial.print(cm);//串口输出距离换算成cm的结果

Serial.println("cm"); //打印完后换行

delay(100);

}

标签: #靠超声波发现障碍物采用的方法叫做什么