Arduino 超声波模块

deanyuancn
发布于 2020-12-11 18:14
浏览
0收藏

Arduino  超声波模块-鸿蒙开发者社区

资料进入这里下载:

http://dl.vmall.com/c062c71lkn

 

本模块性能稳定,测度距离精确。能和国外的SRF05,SRF02等超声波测距模块相媲美。模块高精度,盲区(2cm)超近,稳定的测距是此产品成功走向市场的有力根据!

 

产品应用领域:

 

   机器人避障   物体测距  液位检测  公共安防 停车场检测 

 

主要技术参数:

 

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

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

 

基本工作原理:

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

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

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

   

本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值。

 

 

 

简单的代码如下:

const int TrigPin = 2; 
const int EchoPin = 3; 
float cm; 
void setup() 
{ 
Serial.begin(9600); 
pinMode(TrigPin, OUTPUT); 
pinMode(EchoPin, INPUT); 
} 
void loop() 
{ 
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin 
delayMicroseconds(2); 
digitalWrite(TrigPin, HIGH); 
delayMicroseconds(10); 
digitalWrite(TrigPin, LOW); 

cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm 
cm = (int(cm * 100.0)) / 100.0; //保留两位小数 
Serial.print(cm); 
Serial.print("cm"); 
Serial.println(); 
delay(1000); 
}

 

模块工作原理: 

 

采用IO触发测距,给至少10us的高电平信号;
模块自动发送8个40KHz的方波,自动检测是否有信号返回;
有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340m/s))/2;
电路连接方法:Arduino  超声波模块-鸿蒙开发者社区Arduino  超声波模块-鸿蒙开发者社区

看样子不算太难

 

分类
已于2020-12-11 18:14:43修改
收藏
回复
举报
回复
    相关推荐