HC-SR04超声波模块的Arduino代码

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

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

3.接线方式:

VCC、trig(控制端)、 echo(接收端)、 GND

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

5.模块工作原理:
  (1)采用IO触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
  (3)有信号返回,通过IO输出一高电平,高电平持续的时间就是
超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;

Arduino代码:

 

 

const int TrigPin = 2; 
const int EchoPin = 3; 
float cm; 
void setup() 
{ 
Serial.begin(9600); 
pinMode(TrigPin, OUTPUT); 
pinMode(EchoPin, INPUT); 
} 
void loop() 
{ 
//发一个10ms的高脉冲去触发TrigPin 
digitalWrite(TrigPin, LOW); 
delayMicroseconds(2); 
digitalWrite(TrigPin, HIGH); 
delayMicroseconds(10); 
digitalWrite(TrigPin, LOW); 
 
cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米 
cm = (int(cm * 100.0)) / 100.0; //保留两位小数 
Serial.print(cm); 
Serial.print("cm"); 
Serial.println(); 
delay(500); 
}

  

 

posted @ 2017-04-28 08:58  xiaohe520  阅读(1871)  评论(0编辑  收藏  举报