加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

arduino超声波试验实例

(2017-01-07 20:52:55)
标签:

arduino制作

arduino超声波试验实

超声波模块

超声波模块使用

分类: arduion学习

 http://s8/mw690/006sFe21zy77NYgmIh967&690

主要技术参数:

1:使用电压:DC5V         2:静态电流:小于2mA
3:电平输出:高5V          4:电平输出:底0V
5
感应角度:不大于15       6:探测距离:2cm-450cm      

7:高精度:可达0.3cm

板上接线方式,VCC、trig(控制端)、  echo(接收端)、  GND

【注意】

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

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

使用时:

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

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

(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是

  超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;  

距离公式:测试距离=(高电平时间/58)(厘米);  

实例

//////////////////////////////////////////////////////////

//超声波试验

int pinTrip=8; //接SR04 Trip ,给10us以上的高电平

int pinEcho=7;  //接Echo   ,接收高电平时间

float distance=0; //保存得到的距离

void setup() {

  // put your setup code here, to run once:

pinMode(pinTrip,OUTPUT);

pinMode(pinEcho,INPUT);

Serial.begin(9600);

}


void loop() {

  // put your main code here, to run repeatedly:


digitalWrite(pinTrip,LOW);

delayMicroseconds(2); //拉低电平

digitalWrite(pinTrip,HIGH);

delayMicroseconds(12);//给12us的高电平

digitalWrite(pinTrip,LOW);//拉低电平


distance=pulseIn(pinEcho,HIGH);//检查高电平时间

delay(10);


distance=distance/58; //得到距离

Serial.print("distance=");

Serial.print(distance);

Serial.println("cm");

delay(500);

}


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有